Skip to main content

Full text of "Micro 6502 Journal Issue 2"

See other formats


Trt 



[i!D[)(g[^(^ 



TTIMIl 6502 JOOJI^IM^IL 




( 



NO a [L)^^ ^^^^^la 9^ $r50 



QUICK CHANGE ARTISTRY 




ENGINEERED SPECIFICALLY FOR 
THE KIM-1 MICRO COMPUTER 

• Protection of Chips and 
Other Components 

• Viewing Angle of Readout 
Enhanced 

• Improved Keyboard Position 
for Easier Opef at ion 

EASILY ASSEMBLED 

• Absolutely No 
Alteration of KlM-1 Required 

• All Fasteners Provided 

• Goes Together In Minutes 
witfi a Small Screwdriver 



ATTRACTIVE FUNCTIONAL PACKAGE 

• Professionaf Appearance 

• FourColorCombinations 

• I m proves Man/Machine Interface 
MADE OF HIGH IMPACT STRENGTH 
THERMOFORMED PLASTIC 

• Kydex 100-5' 
« Durable 

• Motded'ln Cotor 
■ Non-Conductive 

AVAILABLE FROM STOCK 

• Al^iow Two to Ti^ree Weeks for 
Processing and Delivery 

• No COD'S Please 

• Dealer Inquiries invited 



■S 



TO ORDER: 1. FMlin this Coupon (Print or Tyi>e Please) 
2. Attach Check or Money Order and Mail to: 




ZIP 



PJease Ship Prepaid SKE M(s} 

@ $23.50 Each 
California Residents please pay 

$25.03 (Includes Sales Tax) 



TM Hohm &. Haas 



the 

enclosures 

group 

55 st« Vinson, san f randisco 941 05 — . 

iJi 

Coiof Desired blue D beige D ^^ 

blacJ< a white D 



patent Appli^ For 



i>w 



^[l(^^(i) 



DECEMBER 1977/JANUARY 1978 
ISSUE NUMBER TWO 



Making Music with the KIM-1 3 

by Armand L. Camus - How to write music for a DAC, with the complete 
score for "Deck the Halls with Boughs of Holly" 

Writing for MICRO - A Brief Note 7 

Mixing Apples and Oranges - An Editorial 8 

Meet the PET 9 

by Charles Floto - An owner's view of the PET 2001 

Digital-Analog and Analog-Digital Conversion Using the KIM-1 11 
by Marvin L. DeJong - Experiments with a KIM-1 controlled DAC/ADC 

MICRO Reviews: The First Book of KIM 14 

The PET Vs. the TRS-80 17 

by Bob Wallace - A feature-by-feature comparison 

Ludwig von Apple II 19 

by Marc Schwartz - How to write music for the APPLE II 

MICROBES - Tiny Bugs in Previous MICRO 22 

The Challenge of the OSI Challenger 23 

by Joel Henkel - An owner's impressions of the OSI Challenger 

Improving Keyboard Reliability 25 

by MOS Technology - A hardware modification for your KIM-1 

Important Addresses of KIM-1 and Monitor 27 

by William Dial - A Programmer's Reference Card for the KIM-1 



CGRS Microtech 

The COMPUTERIST 

Computer Playground 

Computer Shop 

the enclosures group 



Advertisers Index 

8 F&D Associates 22 

2 JADE CO 20,21 

16 MICRO Subscription Form 25 

26 Pyramid Data Systems 8 

IFC Riverside Electronics 22 



Subscription Rate: $6.00 per year (six issues) in U.S.A. 

MICRO is published bimonthly by The COMPUTERIST, 8 Fourth Lane 
So. Chelmsford, MA 01824. Robert M. Tripp, Editor/Publisher. 
Controlled circulation postage paid at Chelmsford, Massachusetts. 

Copyright 1977 by The COMPUTERIST. All Rights Reserved. 

Deadline for February/March 1978 issue: January 15, 1978. 



^ 



2:1 



/ 



lllll 



t 



'/^ 



MEMORY PLUS 
I for KIH/I'I 



TM 



/ 



^JIJ 



8K ram - 2102 Low Power Static RAM 
8K EPROM - INTEL 2716 Erasable PROM 
VERSATILE INTERFACE ADAPTER - MOS Technology 6522 
\S* EPROM PROGRAMMER 
fl' ON-BOARD VOLTAGE REGULATORS 

socketted for easy replacement in the field 
Provision for battery backup on the RAMs 
Same size and shape as the KIM-1 ^V\ 
May be simply mounted directly beneath the KIM-1 
Uses the same connections as the KIM-2/KIM- 
FULLY ASSEMBLED AND TESTED < 
Price: $245.00 ' 

[With everything except the INTEL 2716 EPROMs 
\k INTEL 2716 2K EPROMS: $50.00 ^ 



978 



11 



Deliveries starting: January 3f 1 
For more information and our complete KIMWARE 
Send a Self-Addressed, Stamped Envelope 



Catalog, 



to: 



d 



III! 



till 



The COMPUTERIST 
P.O. Box 3 
S Chelmsford, MA 01824 

Or Call: 

III 

617/256-3649 

[Dealer Inquiries Invited] 



ITIMII 

inn 



f ^ Y • '^ • f 



II 



mt 



III! 



II 



i^ 



Making Music with the KIM-1 

Armand L. Camus 

P.O. Box 294 

Westford, MA 01886 



What kind of music can you make with the help 
of a microcomputer, namely the KIM-1 with its 
I.IK bytes of memory? Well, it certainly will 
not sound like the Boston Symphony Orchestra, 
live or on records, but with the right type of 
music it will give an acceptable rendition of a 
chosen piece of music. Many elements of good 
music will be missing, especially the timbre of 
the different instruments of the orchestra, but 
on the positive side the notes will be on tune, 
you will be able to compose in four-part har- 
mony, the tempo will be adjustable, and the 
whole process will permit some of the artistic 
creativity which may hide in each of us to 
emerge to the surface. Last, but not least, it will 
be a lot of fun. 

This elementary article explains the "HOW-TO" 
rather than the "WHY" in making music with a 
microcomputer. Many of the hobbyists who 
may find it too simple may refer to the excellent 
article by Hal Chamberlin which dwells in detail 
on the subject. 



An easy way for the beginner to start his 
musical career is to acquire a minimum of 
equipment besides the KIM-1 and cassette re- 
corder it is assumed are already in his posses- 
sion. 

The DAC unit is a printed circuit board con- 
taining a complete audio output system for the 
KIM-1. This board also comes with a cassette 
tape, an instruction sheet listing the songs which 
can be loaded in the KIM, and a reprint of the 
reference article including the interconnections 
to be made between the two connectors. 

Now that we have described the hardware we 
will concentrate on what to do in order to get 
some music out of the system. The simplest way 
at this time is to load File 1 and File 2 of the 
tape and to see if the Star Spangled Banner 
comes out clear and patriotic. The procedure is 
simple: 




J KIMA 



□D 



Con>men> 



Jl, J2 connectors: Vector R644, Winchester 
HKD2250, or equivalent. J2 will be too long, 
but will work just the same. 

Speaker, 2^/2", 8 ohm, 0.3W, from Radio Shack, 
or equivalent. 



DAC Digital-to-analog converter from THE 
COMPUTERIST, P.O. Box 3, S. Chelmsford, 
MA 01824 or MTU, P.O. Box 4596, Manchester, 
NH 03103. 



^ 



2:3 



l^3(S^(Dl 



sv 



start the KIM-1 
keys to get: 



and press the appropriate 



AD OOFl DA 00 
AD 17F9 DA 01 
AD 1873 Press -GO 

Start the cassette until you get 0000 in the 
address display, which indicates that the load- 
ing was done properly. After stopping the 
cassette, press the keys to get: 

AD 17F9 DA 02 
AD 1873 Press GO 

Start the cassette again until you get 0000. 
Stop the cassette. Now you are ready. Press 
AD 0100, press GO and the song will be 
played. As it stops, the program resets the 
address AD to 0100, so by pressing GO again, 
the song will repeat itself. 



In the same manner you could load Files 3 and 4 
to get a rendition of Exodus. The sound quality 
may be changed by loading File 5 or File 6. Per- 
sonally, I prefer File 6 which has a much 
more mellow timbre. 

Transcribing A Song 

Now that we have gone through the above 
steps, we will learn to code a song. For our 
purpose, a particular note of music will have 
two characteristic elements: 

its pitch, represented by its position on the 

staff 

its duration, relative to other notes. 

What we mean is that a half note lasts twice as 
long as a quarter note, a quarter note lasts twice 
as long as an eighth note, etc. . . We are not talk- 
ing about tempo yet, this will come later. 



1. Duration Code: 

We will assign a two-digit code to the 
duration of a note: 

o = FF d=80 J-=60 J 
J.=30 J*=20 J^=IO 



= 40 



i 



rSi-Q. 1>^ 



2. Pitch Code 



^ Q o bo Q ^ I^I 



Norm c 5 55 P flt G" 
COOe 6Z 60 SK SC SR Se 



Gfc F E E£> p pb C 
5*6 rtf 52. 50 A.E f|.C h-ti 



# 



:t^= 



:* 



-Q- 



T-r- 



3SC 



^O o ^o^ 






8 &1> P Rl> G 

<f8 <t>6 1*^ <f>2. t^o 



Gt F r 
3e 3C 5« 



fff> P 
38 56 



Pb C 
3«^ 32. 



Q f>Q G y G r : \ 



S^ 



-^a- 



-©- 



:^x 



j > o o i:^^ 



Ntfre c 



6 6I> A 
3o lE^ 2C 



nt> G Gl> F e Eh O Pb 

2R 28 26 l<f 2^ '2o I C IC 



§1 



Cfe P Pi > c 



jo: 



Q >Q o J>o- 



oc oc o^ 



08 06 04- 02. 



c 
Cope ifl 



'8 



6l> P 
16 m- 



nb G 
(^ 10 



2:4 



^ 



With the help of this lookup table we can find 
quickly the code for any note within the limits 
of C6 and C2, the high and low C's. However, 
the very low notes may not be reproduced too 
well with a small speaker and it may not be ad- 
visable to go below C3 (Code lA). 

3. Coding A Song: 

The program given at the end of this article is a 
coding of the well-known carol "Deck The Halls", 
which we thought would be appropriate for this 
issue. [Editor's Note: It inspired this issue's 
cover!] If you look at this coding, you will 
observe that it is done line by line. Each line is 
composed of six elements. For example, the 
first line is : 

0200 60 4A 44 32 24 

- the 0200 is the memory address of the 
element 60. The next element, 4A, would 
then have an address 0201, and so on. 

- the 60 is the duration of the group of four 
notes which follow. A 60 means a dotted 
quarter note. 

- the 4A is the note C, for the first voice. 

- the 44 is the note A, for the second voice. 

- the 32 is the note C, for the third voice. 

- the 24 is the note F, for the fourth voice. 

This is an F major chord which could be re- 
presented as in (1), and it corresponds to the 
word "DECK" of the song. 



Now we will code the first bar of the song. 
Remember that each line will have the same 
format: 

address (4 digits), duration (2 digits), 1st 
voice (2 digits), 2nd voice (2 digits), 3rd 
voice (2 digits), £ind 4th voice (2 digits) for 
a total of fourteen (14) digits. If a voice is 
quiet, use 00 at the appropriate location. 

The first vertical group of notes (C,A,C,F) 
corresponding to the word "DECK" has al- 
ready been explained above. 

The second vertical group of notes correspond- 
ing to the word "THE" is made of B flat, G, C, 
and E. Looking up the pitch code table, we find 
the following codes: 

Bb = 46, G = 40, C = 32, and E = 22. Each 
note is an eighth note so the duration code is 
20. The address of the duration code is 0205 
so our second line will be: 

0205 20 46 40 32 22 

In the same fashion the two other vertical groups 
are made of quarter notes (code 40) and we get 
for the first bar: 

0200 60 4A 44 32 24 (DECK) 
0205 20 46 40 32 22 (THE) 
020A 40 44 3C 32 24 (HALLS) 
020F 40 40 3A 2E lA (WITH) 




oecK 



QCCK TM6 HALLS WiTH 

U- ^ ^ J 

y, r- IT r ^ 



J. J.-J J 



^ T T r 



Remember that there is a Key Signature in this 
carol and that all the B's, wherever located on 
the staff, are flat, unless otherwise indicated, 
which explains the 46 of the second line and the 
2E of the fourth line. 

Another part of that song is shown in the ex- 
ample (3). The first voice plays two notes (A 
and B natural), while the other voices play 
only one. We solve this problem by writing two 



lines, one for the A and one for the B natural, 
repeating the other notes to extend their dura- 
tion to a quarter note. We get: 

02D2 20 44 3C 32 24 
02D7 20 48 aC 32 24 

Both A note (code 44) and B natural note 
(code 48) have only the duration of one eighth 
note each (code 20), and we have to write two 



^ 



2:5 



separate lines for them, but the three other 
notes will be repeated so that their total dura- 
tion is a quarter note. Fortunately, the lower 
notes, even when repeated, will blend together 
and sound more like a quarter note than two 
consecutive eighth notes. 

Now we should be able to code a song, but as a 
preliminary exercise, you may want to load 
"Deck the Halls" and see how it works out. Here 
is the procedure : 

Load Files 01 and 02 of the DAC tape, as ex- 
plained at the beginning of this article. You may 
also want to load File 06 to give a more mellow 
timbre. Then go to address 0200 and start in- 
putting the data. The addresses in the left side 
give you a check on your progress and catch 
possible omissions of data. What we are doing 
here is using the main program and writing over 
the song already in memory. At any time it is 
possible to go back to AD 0100, push GO and 
listen to what is already in memory. Somewhere 
at about 2/3 of the song, we run out of memory 
(0200 to 02F9), but we have enough left to tell 
our microcomputer that it is the end of that 
particular segment (02FA 01), and that we wish 
to continue at address 0083 (02FB and 02FC). 
At the very end, check address OODD 00. The 
data 00 indicates the end of the piece and this 
will reset the KIM-1 to address 0100, ready to 
"GO", so to speak. 

After you have loaded the code and pushed the 
GO key, the carol should start, sounding good if 
no mistake was made, but perhaps a little bit 
on the slow side. To change the tempo, either 
way, go to address OQID and the data will pro- 
bably show 60. Change the data to 40, go back 
to address 0100, push GO and the tempo will be 
much faster. Experiment with the data at AD 
OOID and find the tempo you prefer. 

I have found out that while I am coding I like to 
listen to what is already in memory, because a 
simple mistake at the beginning, especially for- 
getting one voice or the duration code, will 



throw the rest out of whack. Starting the song 
at the beginning, when it is already correct is 
a waste of time, but it is possible to start the 
song at some other point. However, it must 
always be at one of the duration addresses 
shown at the end of this article. If not, the 
KIM-1 would interpret the duration code as a 
musical note and vice-versa! The starting ad- 
dress is contained in locations 0017 and 0018. 
To start, for example, at address 0237, go to 
address 0017 read 00, 0018 read 02. This means 
that the song normally starts at 0200. All we 
have to do is change the data to read : 

AD 0017 DA 37 
AD 0018 DA 02 

Then setting address 0100 and pushing GO will 
cause the song to start at location 0237 every- 
time. 

Available Memory 

The memory available to the user is divided in 
two groups, each group not necessarily in con- 
secutive order. First group is associated with the 
music program, frequency table or the notes, 
KIM, etc. . . Second group is associated with the 
song. The actual layout of the memory is as 
follows: 

Program variables 
Note frequency table 
Song, second part 
KIM variables 
Music program 
Song, third part 
6502 Stack 
Song, first part 
Waveform (voice) table 
Song, fourth part 

If your music score extends beyond the first 
part locations, you have to provide room for 
continuation. Assuming a score uses all of the 
available memory space for coding a song, the 
following locations are important: 



0000 to 


OOIE 


001 F to 


0082 


0083 to 


OOEE 


OOEF to 


OOFF 


0100 to 


OlAA 


01 AB to 


01 F3 


01 F4 to 


01 FF 


0200 to 


02FF 


0300 to 


03FF 


1780 to 


17E4 



Use of Location 



Parti 



Part 2 



Part 3 



Part 4 



Beginning of Part (Song) 
Beginning of Last Line 
Last note of Last Line 
End of Sequence (Song) 
Low Address Next Segment 
High Address Next Segment 

Reference: Chamberlin, Hal, "A Sampling of Techniques for Computer Perform- 
ance of Music", BYTE Magazine, Sept. 1977, pp. 62-83. 



0200 


0083 


OlAB 


1780 


02F5 


00E7 


OlEC 


17DF 


02F9 


OOEB 


OlFO 


17E3 


02FA(01) 


OOEC (01) 


OlFl (01) 


17E4 (00) 


02FB(83) 


OOED (AB) 


01F2 (80) 




02FC (00) 


OOEE (01) 


01F3(17) 





^ 



2:6 



0200: 
0205: 
020A: 
020F: 
02U: 
0219: 
021E: 
0223: 
2 2 8: 
022D: 
0232: 
0237: 
023C: 
0241 : 
0246: 
024B: 
0250: 
0255: 
025A: 
025F: 
0264: 
0269: 
026E: 

0273: 
0278: 
027D: 
0282: 
0287 : 
028C: 
0291 : 
0296: 
029B: 
02A0: 
02A5: 
02AA: 
02AF: 
02B4: 



60 
20 
40 
40 
40 
40 
40 
40 
20 
20 
20 
20 
60 
20 
40 
40 
80 
60 
20 
40 
40 
40 
40 
40 
40 
20 
20 
20 
20 
60 
20 
40 
40 
80 
60 
20 
40 



4A 

k^i 

44 

40 

3C 

40 

44 

3C 

40 

44 

46 

40 

44 

40 

3C 

3A 

3C 

62 

5E 

5C 

58 

54 

58 

5C 

54 

58 

5C 

5E 

58 

5C 

58 

54 

52 

54 

40 

44 

46 



4^ 
40 
3C 
3A 
32 
3A 
3C 
32 
3A 
3C 
40 
3A 
3C 
36 
32 
32 
32 
5C 
58 
54 
52 
4E 
52 
54 
4A 
52 
54 
58 
52 
54 
4E 
4A 
4A 
4A 
3A 
3C 
40 



I 
3X 
3V 
32 
2E 
2C 
32 
32 
2C 
32 
32 
32 
32 
32 
2E 
2C 
28 
2C 
32 
32 
32 
2E 
2C 
32 
32 
2C 
32 
32 
32 
32 
32 
2E 
2C 
28 
2C 
32 
32 
32 



52 
22 
24 
1A 
IE 
1A 
24 
24 
1A 
1A 
1A 
1A 
24 
16 
1A 
1A 
24 
24 
22 
24 
1A 
IE 
1A 
24 
24 
1A 
1A 
1A 
1A 
24 
16 
1A 
1A 
24 
1A 
1A 
1A 



Score for "Deck the HaUs" 



02B9 
02BE 

02C3 
02C8 
02CD 
02D2 
02D7 
02DC 
02E1 
02E6 
02EB 
02F0 
02F5 
02FA 
02FB 
02FC 



0083 
0088 
008D 
0092 
0097 
009C 
00A1 
00A6 
OOAB 
OOBO 
00B5 
OOBA 
OOBF 
00C4 
00C9 
OOCE 
00D3 
00D8 
OODD 





Writing for MICRO 

MICRO is interested in all aspects of microcomputers based on the 6502 micro- 
processor family. Our primary coverage is aimed at factual, useful information. 
This may be "How To" articles, useful programs and subroutines, descriptions of 
working applications, special interest groups such as Hams, reviews of products 
and literature, technical tutorials, and so forth. Authors will receive a small 
honorium plus reprints of their article. Help spread the 6502 word. 



^ 



2:7 



^v 



Mixing Apples and Oranges 

An Editorial 

Often you have heard the injunction against mixing apples and oranges. MICRO 
proposes that we ignore the warning and mix APPLEs (I and II) with PETs, KIMs, 
Challengers, CGRS Microtechs, JOLTs, homebrews, and any other 6502 family based 
microcomputers. The hope is that mixing these devices together will help to 
show the similarities between them that are inherent by reason of their common 
microprocessor. This is the passive role of MICRO. The active role of MICRO is 
to promote commonality among these microcomputers. How about establishing a 
standard assembler syntax (since the MOS Technology syntax is so horrible)? 
How about defining some standard subroutines and subroutine calling sequences 
so that it will be easier to adapt programs from one machine to run on another? 
Would it be possible to develop some standard cassette tape format which would 
permit tapes generated by one microcomputer to be read into another? Wouldn't 
it be nice if the 6502 based BASICs, Disk Operating Systems, and other high 
level software was compatible across machines? Maybe it is only a dream, but 
maybe it isn't too late to seriously attempt to maximize the impact of the 6502 
based systems by setting some standards so that the various 6502 systems can 
combine to strengthen our position in the micro world rather than weaken it by 
producing incompatible hardware and software. 6502 interests of the world unite! 
You have nothing to lose. 



^ 



2:8 



FINALLY I 




CGRS MICROTECH intpoouceb a 
BSOS COMPUTER SYSTEM 

^B 8100 8TANOARO BUB COMPATIBLE 

^ MPU CARD WITH BK RAM-aKROM ONBOAnO 

^m T. I. M.CSS30) SYSTEM I/O CARD 

^m O.M.A. FRONT CONTROL PANEL 



• INTROOUCTORV SYSTEM 

MPU CARO : IK RAM 
FRONT PANEL : HEX DISPLAY 

« STANDARD SYSTEM 

MPU CARO: IK RAM 
T.I.M. I/O CARD 

SIOO MOTHERBOARD : 7 SLOT 
POWER SUPPLY BV:iaA 
t1SV:1A 

SEND CHECK OR MONEY ORDER TO: 
CORS MICROTECH 
P.O. BOX 3SS 
SOUTHAMPTON , PA 



^ 



Meet the PET 

Charles Floto 

267 Willow Street 

New Haven, CT 06511 

Copyright 1977 by Charles Floto 



This article is based on about a month's experi- 
ence with PET model 2001-8 serial #0010081. 
Commodore indicates the only thing experi- 
mental about it is the color of the case, which is 
metal painted white. 

In June I sent Commodore $595 for a PET with 
4K of RAM to be delivered in late September. 
Toward the end of the latter month I was in- 
formed that initial production would be limited 
to the 8K version and that I could either send an 
additional $200 or get my money back. I sent 
the $200 and my PET was delivered October 25. 

It made the trip from Palo Alto to New Haven 
well cushioned in a carton 21" x 23" x 19" 
high. Since being unpacked my PET's survived 
riding on a bus seat to Washington, D.C. and 
returning by car. 

While the case has a maximum width of I7V2" 
and a maximum depth of 19" the placement of 
the feet allows it to stand on anything at least a 
foot square. Maximum height is IbW and the 
PET weighs about 37 pounds. 

A glance at the PET reveals its distinguishing 
characteristic: everything's in one package -- 
including video display, keyboard, and tape 
drive. A standard 9" diagonal black and white 
TV tube is used. The display field measures 
about 4%" high by 6" wide. This is divided into 
25 lines of 40 columns. Each of these 1000 
positions can be filled with one of about 300 



different characters formed with an 8 x 8 
matrix. Character width is about % of character 
height. Characters available include those shown 
on the drawing of the keyboard. Any of these 
may also be displayed with black and white 
reversed on an individual basis. Furthermore, by 
changing the contents of memory location 
59468 you can substitute lower case letters and 
four additional graphics for 30 of the graphics 
characters. Taking video inversion into account, 
this gives a total of 316 available characters. 

The graphics characters have been chosen to be 
useful picture elements which give higher effect- 
ive resolution than the 25 x 40 field would 
suggest. For example, a horizontal bar graph can 
be displayed with resolution better than 1/3 per 
cent of full scale. 

Characters may be placed on the screen directly 
from the keyboard, by use of the PRINT com- 
mand, or by a POKE into the screen memory. 
This extends from decimal address 32768 to 
33767 (i.e., 32K to 32K + 999). If A is a number 
in this range and C is between and 255 then 
POKE A, C will place a character on the screen. 

The keyboard is the PET's most controversial 
feature. It takes up an area 9" by 2%". Since 
I'm used to typing with only two fingers and a 
thumb the small size and rectangular layout 
don't bother me. Each keytop is about 3/8" 
square and can be depressed about 1/8". The 
feel is similar to a standard spring-loaded switch- 















— — \ f 


.1 


D 


H 
// 


# 


□ 
$ 


G 

% 


n 


■ 
& 


\ 


H 
( 


B 
) , 


a 




CLR 
SCREEN 
HOME 


A 

CURSOR 

. V J 


CURSOR 

=> 


INST 
DEL 


H 

Q 


n 
w 


H 
E 


y 


D 
T 


a 

Y 




u 


1 


n 



□ 
P 


7T 


n 
7 


H 
8 


H 
9 


/ 


4 

A 


s 


H 
D 


H 
F 


G 


H 


J 


K 


□ 

L 


□ 


R 

E 
T 
U 
R 
N 


4 


D 
5 


6 


* 


♦ 

Z 


4 

X 


B 
C 


V 


m 

B 



N 


M 


Q 

f 


r 


S 
? 


H 
1 


H 
2 


3 


[B 

+ 


SHIFT 


OFF 

RVS 

ON 


B 


ffl 
[ 


m 
] 


SPACE 


< 


> 


RUN 
STOP 


SHIFT 





• 


H 


ED 
















') 



^ 



2:9 



i^[|(d^(>)i 



^^ 



closure keyboard. The only trouble I've had 
with it is that occasionally one of the cursor 
control keys will insert a character rather than 
move the cursor. IVe been able to rectify this 
by getting off the line and then coming back to 
it. Preliminary investigation suggests it should 
be quite easy to attach a standard keyboard to 
the PET. 

The other prominent external feature of the 
PET is the tape drive which takes up an area 
just over 5" square. It has the useful function 
controls, but the motor is turned on and off 
under software control in the play and record 
modes. Prompts for operation of the controls 
are displayed on the screen as appropriate. The 
screen also displays status of the tape operation 
in progress. When attempting to load or verify 
a fUe with a specified name it displays the names 
of other files found. File names may have a 
maximum of 79 characters. 

Short BASIC programs can be loaded from tape 
at an effective speed of 250-400 baud, with 
longer programs having a higher net rate. It 
should be possible to fill the entire 8K of RAM 
in under 2^/2 minutes -- once the proper program 
has been found. 

Sticking out of the lower right side of the PET 
cabinet is a 40 line (plus 40 ground) printed 
circuit connection to the internal bus. As it 
does stick out about 1/8" metallic objects 
should be kept away from this area. The three 
groups of PC connectors in the rear present a 
lesser hazard as they're flush with the cabinet. 
These are: 1. A connector for the IEEE-488 
bus (see MICRO No. One, page 11 for my 
discussion of this); 2. A parallel port with hand- 
shaking; 3. The interface for tape drive #2. 
I was able to verify this one by removing drive 
#1 from the cabinet and plugging it into the 
rear as #2. Commodore has exhibited the PET 
with a second drive connected, but hasn't 
offered to sell any yet. 



So much for physical externals. How good is the 
firmware stored in that 14K of ROM? Since my 
instruction book hasn't arrived yet I'll limit my 
comments to the 8K BASIC interpreter describ- 
ed in the nine-page "temporary version" of the 
documentation. 

My favorite feature of PET BASIC is the ease of 
editing a line within a program. Just move the 
cursor to the appropriate spot, make the change, 
and hit RETURN - no need to retype the line. 
It's also handy to be able to turn on the machine, 
load a partially-written program from tape, 
work on it for a while, then save the new version 
on cassette, I'm glad I got the version with 8K 
of RAM as I've already written a program that 
leaves fewer than 5K bytes free. (The 4K model 
is said to use a different circuit card, but since 
there aren't any yet. . . ) 

I also appreciate the special variables TI and 
TI$. TI is incremented 60 times a second; it 
makes delays and timing applications easy. 
TI$ is a 24-hour clock whose 6 digits indicate 
hours, minutes, and seconds. As these suggest, 
variable names may be two letters ~ as long as 
they're not reserved words such as OR, IF and 
ON. Variables may be integers, strings, real, or 
multi-dimensioned arrays of any one of these. 
Integers are limited to the range ±32767. Real 
variables are calculated with 10-digit precision, 
although only 9 digits are printed. For example, 
pi=3.14159265; twice pi=6.28318531. 

Another distinctive feature is the GET state- 
ment which reads the keyboard without RE- 
TURN having been pressed. Unfortunately 
the random number function only works with 
positive arguments. RND(0)=.564705882 always, 
whUe RND(-l)=2.99196472E-08. The latter is 
typical of the values returned with negative 
integer arguments. This is the only bug I've 
discovered in PET BASIC. 



Editor's Notes: In MICRO #1, Charles Floto discussed the PET's IEEE-488 Bus. 
Since then Motorola and Intel have both announced new ICs that will make it 
easy to interface to this otherwise formidable bus structure. For more 
information on the PET and a comparison with the Radio Shack TRS-80, see 
"The PET Vs. the TRS-80" by Bob Wallace, MICRO #2, page 17. 



^ 



2: 10 



i> 



Digital-Analog and Analog-Digital Conversion 
Using the KIM-1 

Marvin L. De Jong 

Department of Math-Physics 

The School of the Ozarks 

Point Lookout, MO 65726 



A Motorola 1408 8-bit digital to analog conver- 
ter is connected as shown in the circuit diagram. 
(The 1408 is available from James Electronics, 
1021 Howard Ave., San Carlos, CA 94070, as 
are the op amps used in these experiments.) 
The PAD port of the KIM is used to provide the 
digital input to the 1408. The analog output of 

Circuit Diagram for 
Digital to Analog Converter 



the 1408 is a current sink at pin 4, which we 
converted to a voltage by means of the RCA 
CA3140 operational amplifier. The feedback 
resistor R is adjusted to give the desired voltage 
output. For example, an R of about 500 ohms 
gives a voltage range from volts when PAD is 
00000000 to 1 volt when PAD is 11111111. 



PB<^- 



SCOPE smc 
■xo Scope 



*ISV 




*PB7 



1 . Generation of a Ramp Voltage Waveform 

For the first experiment do not connect the 
second op amp, simply connect the output of 



the first op amp to an oscilloscope as shown. 
Load the following program. 



Program to Generate a Ramp Voltage Waveform 



ADDRESS 


OPCODE 


LABEL 


INSTRUCTION 


COMMENTS 


0300 


A9 FF 


START 


LDAIM FF 


255 in Accumulator 


0302 


8D 01 17 




STA PADD 


Port A is Output Port 


0305 


EE 00 17 


BACK 


INC PAD 


Increment number in PAD 


0308 


4C 04 03 




JMP BACK 


Increment in a Loop 



Running this program should cause a ramp wave- 
form to be observed on the oscilloscope screen. 
A close examination of the ramp will show that 



it consists of 2* = 256 steps rather than a 
straight line. 



^ 



2:11 



iN 



2. A DAC as an Analog to Digital Converter 

The second op amp acts as a comparator. It 
compares the voltage from the output of the 
first op amp (which we shall call the digital 
signal) with a voltage from some source to be 
applied to pin 3 (which we shall call the analog 
signal). The output is connected to PB7 on the 
KIM. If PB7 = 1, the analog signal is greater 
than the digital signal. If PB7 = 0, the analog 
signal is less than the digital signal. The digital 
signal is, of course, produced by the contents 
of PAD. 

A flow ch£irt showing what we intend to do is 
shown below. Output port PAD is set to zero. If 
the analog signal is positive the PB7 = 1 . PAD is 
now incremented until the comparator indicates 
that the analog signal is less than the digital 
signal, i.e. PB7 = 0. At that instant the digital 
and analog signals are the same to within one 
bit, the least significant bit, on PAD. The 
digital value of PAD is then displayed and the 
cycle continues. 

If the feedback resistor is adjusted so that a 
value of PAD = 255io = FFl6 produces a volt- 
age of 2.55 volts, then we have constructed a 
simple digital voltmeter with a full scale reading 
(in hex) of 2.55 volts. The extremely high im- 
pedance of the 3140 op amp makes this a rather 



good voltmeter. A simple program to convert 
from hex to base ten would make the meter 
easier to read. 



Flow Chart for 
Analog to Digital Converter 




AD = PAD+1 



1 



DISPLAY PAD 
CONTENTS ON 
KIM 



Program for Analog to Digital Converter 
(Ramp Approximation) 



ADDRESS OPCODE 



LABEL INSTRUCTION COMMENTS 



0300 


A9 FF 


START 


LDAIM 


FF 


0302 


8D 01 17 




STA 


PADD 


0305 


A2 00 


AGN 


LDXIM 


00 


0307 


BE 00 17 


RAMP 


STX 


PAD 


030A 


AD 02 17 




LDA 


PBD 


030D 


10 O^i 




BPL 


DISP 


030F 


E8 




INX 




0310 


^C 07 03 




JMP 


RAMP 


0313 


86 F9 


DISP 


STX 


INH 


0315 


20 IF IF 




JSR 


SCANDS 


0318 


He 05 03 




JMP 


AGN 



255 in Accumulator 

Make Port A Output Port 

Start PAD at zero 

Output Value of X register 

Read Port B 

Branch if bit 7 = 

Increment X register 

Continue loop 

Put X into Display register 

Use KIM Display Subroutine 

and start again at zero 



^ 



2: 12 



Successive Approximation Analog to Digital 
Used as a Storage Scope. 



^W 



The ramp approximation is quite slow and there 
is a faster technique known as "successive ap- 
proximation." It works as follows: the most 
significant bit to the DAC is set to one and all 
the others are set to zero. If the comparator in- 
dicates that the analog signal is greater than 
the digital signal, the next lower bit is set to 1 
and the test is repeated. If the comparator in- 
dicates that the analog signal is less than the 
digital signal, the highest bit is made zero, and 
the next lower bit is set to 1 and the test is re- 
peated. This iterative process is repeated until all 
eight bits have been tested, starting with the 
MSB and ending with the LSB. The flow chart 
indicates how this will be accomplished. 



This analog to digital conversion scheme will be 
used in a program which digitizes 256 points on 
a waveform and then stores the results, to be 
displayed at a convenient time and with as many 
repetitions as desired on an oscilloscope. It is 
useful for examining slow waveforms with an 
oscilloscope with a low persistance screen, for 
example ECG waveforms, and it is useful for 
examining non-periodic waveforms such as a 
one-shot impulse from an accelerometer. The 
program has triggering built in, and the output 
scan portion synchronizes the oscilloscope with 
a sync signal, turning an inexpensive scope into 
something more useful. A flow chart for the 
program is given below. 



Flow Chart for 

Successive Approximation 

Analog to Digital Conversion 



Flow Chart for Storage Scope 



\. 



PAD = 80^g = 10000000 
PGZZ = 80^g = 10000000 




YES 



PAD = PAD - PGZZ 



LOGICAL SHIFT RIGHT PGZZ, 
(Shifts all bits one bit 
right and zero bit is 
shifted into carry bit.) 



I 



PAD = PAD + PGZZ 




^ET trigger) 




^TART timer) 



( DIGITIZE J 




r GO TO >( 
V DISPLAY J 



2: 13 



r^ 



SN 



A short description of the behavior of the cir- 
cuit and program follows. The experimenter 
chooses the desired trigger level and loads this 
into location 0306. When the analog signal is 
greater than this, the comparator makes PB7 go 
high and the scan begins. The sampling rate and 
the scan time is determined by the number load- 
ed into the timer and the timer used; locations 
0314 and 0316, respectively. It takes at least 
200 microseconds to digitize so there is no 
point in choosing time intervals smaller than 
this. X is used as an index to identify each of the 
256 points on the sc£in. After the timer is 
started the analog signal is digitized and the 
timer is watched until it is finished. X is then in- 
cremented and a new point is digitized until all 
256 points are finished £ind stored in TABLE.X. 

X is then zero again. This entire process will 
repeat unless the 1 key is depressed, in which 
case the program displays the data on the oscil- 
loscope, connected as before to the output of 
the first op amp. The display will repeat, com- 
plete with SYNC signal output from PBO, 
until the program is halted. In our case we load- 
ed the vector 17FA and 17FB with the starting 
address of the program (0300) so a depression 
of the ST key caused the entire program to 
start over. 

A listing of the program is shown on the follow- 
ing page. Notice that the data is stored in 
TABLE,X located in page 2 of memory, PGZZ 
is at location 0000, the trigger level is in 0306 
and the scan time variable is in 0314 and 0316. 
The scan time should not be shorter than 200 
microseconds. As far as display is concerned, we 
found that a sweep rate of 200 to 500 micro- 
seconds per cm gave good results. 



Flow Chart for Display 



fesT X = ; 



-<^ 



(sync scope) 



PUT 
TABLE (X) 
INTO PAD 



( X = X + 1 j 




A few other comments may be in order. First, 
most of the ideas for this project were obtained 
in a KIM workshop offered by Dr. Robert 
Tinker. The software implementation is the 
author's work. There are some obvious improve- 
ments, such as a sample and hold device between 
the £inalog source and the comparator or a faster 
approximation routine. These improvements are 
left for the reader to implement. The author 
would be glad to be informed if such improve- 
ments are made. 



^ 
/i 



i£D3(3a(£)i 



^v 



MICRO Reviews: 



The First Book of KIM 



This is one terrific book for anyone who has a KIM-1. It was assembled by Eric 
Rehnke (Publisher of "KIM-1 /6502 User Notes"), Jim Butterfield ("Hypertape" and 
many other good utilities), and Stan Ockers (a regular "User Notes" contributor). 
Over half of the book is devoted to "Recreational Programs", games you can play 
on your basic KIM-1. The section on "Diagnostic & Utility Programs" is worth 
the price of the book by itself. The remainder of the book contains tutorial 
information on getting started with your KIM-1 , expanding your system, and inter- 
facing to the outside world. This well produced, 176 page resource is available 
for $9.50 (including postage in USA) from: 

ORB 

P.O. Box 311 

Argonne, IL 60439 



^ 



2: 14 



^ 



Program for Storage Scope 



ADDRESS OPCODE 



LABEL INSTRUCTION COMMENTS 



0300 


A9 


FF 




BEGIN 


LDAIM 


FF 


0302 


8d 


01 


17 




STA 


PADD 


0305 


A9 


10 




START 


LDAIM 


TSET 


0307 


8D 


00 


17 




STA 


PAD 


030A 


A2 


00 






LDXIM 


00 


030C 


EA 








NOP 




030D 


EA 








NOP 




030E 


AD 


02 


17 


TRIG 


LDA 


PBD 


0311 


10 


FB 






BPL 


TRIG 


0313 


A9 


CO 




STIME 


LDAIM 


CO 


0315 


8D 


05 


17 




STA 


TIMER 


0318 


A9 


80 






LDAIM 


80 


031A 


85 


00 






STAZ 


PGZZ 


031C 


8d 


00 


17 


TEST 


STA 


PAD 


031F 


AC 


02 


17 




LDY 


PBD 


0322 


30 


03 






BMI 


FWRD 


0324 


38 








SEC 




0325 


E5 


00 






SBCZ 


PGZZ 


0327 


46 


00 




FWRD 


LSRZ 


PGZZ 


0329 


BO 


08 






BCS 


OUT 


032B 


65 


00 






ADC 


PGZZ 


032D 


4C 


1C 


03 




JMP 


TEST 


0330 


8D 


00 


17 


OUT 


STA 


PAD 


0333 


9D 


00 


02 




STAX 


TABLE 


0336 


E8 








INX 




0337 


FO 


08 






BEQ 


DISPLY 


0339 


AD 


07 


17 


CHEK 


LDA 


TCHEK 


033C 


10 


FB 






BPL 


CHEK 


033E 


4C 


13 


03 




JMP 


STIME 


0341 


20 


6A 


IF 


DISPLY 


JSR 


GETKEY 


0344 


C9 


01 






CMPIM 


01 


0346 


FO 


03 






BEQ 


SYNC 


0348 


4C 


05 


03 




JMP 


START 


034B 


A9 


01 




SYNC 


LDAIM 


01 


034D 


8D 


03 


17 




STA 


PBDD 


0350 


A2 


00 






LDXIM 


00 


0352 


AD 


02 


17 


RPT 


LDA 


PBD 


0355 


49 


01 






EORIM 


01 


0357 


8D 


02 


17 




STA 


PBD 


035A 


BD 


00 


02 


SCAN 


LDAX 


TABLE 


035D 


8D 


00 


17 




STA 


PAD 


0360 


E8 








INX 




0361 


DO 


F7 






BNE 


SCAN 


0363 


4C 


52 


03 




JMP 


RPT 



Initialize Port A to Output 
TSET Trigger Voltage Set 

Initialize X register 



Tinput and test PB7 

Wait if PB7 = 

Set Scan Time here 

Select Interval Timer 

Start Digitize Sequence 

Store Initial Value 

Output Value 

Test PB7 

Branch if PB7 = 1 

Clear Borrow Flag 

Subtract bit 7 

Set PGZZ for Next Lower Bit 

Out of Digitize Loop if Finished 

Set Next Lower Bit = 1 

Return to Test all Lower Bits 

Final Approximation in PAD 

and in TABLE (X) in Page 2 

Bump Table Index 

Go to Display if Table Complete 

Test if Timer is Finished 

If not, Wait in Loop 

Digitize another Point 

Is Key 1 Depressed? 

Yes. Display the Data 
No. Return to Start 
Set up PBO as Sync 
Output Pin 

Init X to Display Table 
Toggle PBO for Sync 
Signal to Scope 

Output Table (X) for 

Display on Scope 

Increment X register 

Continue until all Points Done 

Then Repeat 



NOTE: This material was submitted by the 
author to the KIM-1 User Notes and has also 
been distributed by MOS Technology as "KIM 



Application Note #11701." It is printed here 
with the permission of the KIM-1 User Notes 
and MOS Technology. 



^ 



2:15 



COMPLETE, READY TO USE, APPLE II MICROCOMPUTER WITH BASIC AND SYSTEM MONITOR IN 
ROM AND 16K BYTES OF RAM. Apple II with 8K of RAM $1391.75 

Additional 8K Memory Expansion When Purchased With System $106.25 

TOTAL 16K SYSTEM ONLY $1498.00 - SAVE $200 



APPLE II PERIPHERAL INTERFACE CARDS: 

■ S-100 BUS INTERFACE ($160)''' 

- Connect the Apple II to an S-100 Bus Motherboard 

- Will Run Almost All Memory, I/O, and Special 
Purpose S-100 Boards 

- All Interconnecting Cables and Plugs Supplied (S-100 
Motherboard and Power Supply Not Included) 



PROGRAMMABLE PRINTER INTERFACE ($80) 

- Onboard EPROM Printer Driver 

- Full Handshake Logic 

- High Speed Parallel Output Port Capability 

- Provision for 256 Byte I/O Drive in EPROM 

- Printer, Driver Programs Available for Centronic, 
SWTPC-40, and Other Printers 



Delivery January, 1978. 



FLOPPY DISC INTERFACE TO PERSCI ($80) 

- Programs Saved and Loaded by Name 

- Powerful Firmware DOS File Handling Capability 

- Storage Capacity of 252K Bytes per Disc 

- Up to 4 Drives (One Million Bytes) 

- File Handling as Easy as Inputing or Printing 

- Access Methods: Stream, Punctuated, Relative, Direct 

APPLY POWER CONTROL INTERFACE''" 

- Up to Sixteen Control Channels 

- Control Room Lights, Stereo Equipment, Security 
Systems, Electrical Appliances 

- Handle Up to 1000 Watts per Channel Directly From 
Program Control 

- Complete Isolation of the Computer From the AC 
Line 

- PRICE: 

• Apple Power Interface Board and One Power 
Control Module ($85) 

• Additional Power Control Modules (Controls Four 
AC Circuits) ($25) 

• Appliance Control Module (Controls One AC 
Circuit) ($7.50) 



ADD ON MEMORY FOR APPLE II 




SOFTWARE FOR APPLE II 




■ Set of Eight 4K RAM CHIPS 


$ 44 


■ Home Financial Record Program (Req. 16K Sys) 


$ 20 


■ Set of Eight 16K RAM CHIPS 


$540 


■ Business Inventory (Req. 20K Sys) 


$ 40 


■ Upgrade of Apple II Memory Using Modified 




■ Bob Bishop's High Resolution Games (Req. 16L Sys) 


$ 40 


4K RAM Memory Expansion 




- Star Wars 


$ 15 


- 4K to 16K 


$250 . 


- Rocket Lander 


$ 15 


- 8K to 16K 


$160 


- Saucer Invasion 


$ 15 


- 12Kto 16K 


$ 80 


■ Apple Music (Three Octaves) 


$ 20 






■ Data Save to Cassette 


$ 20 



COMPUTER PLAYGROUND 

6789 WESTMINSTER AVENUE 

WESTMINSTER, CALIFORNIA 92683 

(714) 898-8330 



APPLE II CLASSES 


BOOKS 




■ Introductory Basic (Three-Two Hour Classes) $ 20 


■ 6502 Programming Manual 


$ 10 


■ Advanced Basic (Four-Two Hour Classes) $ 30 


■ 6502 Hardware Manual 


$ 10 


■ 6502 Assembly Language (Five-Two Hour Classes) $ 50 






■ Apple 11 Low and High Resolution Graphics and 






Sound (Two-Two Hour Classes) $ 1 5 







Mastcrcharge, Visa. B of A accepted. No C.O.D. Allow two weeks for personal check to clear Add $1.50 for handling and postage. For 
computer system, please add $10.00 for shipping, handling, and insurance. California residents add 6% sales tax. 



^ 



The PET Vs. the TRS-80 

Bob Wallace 

P.O. Box 5415 

Seattle, WA 98105 



The $600 computer has arrived! The PET (Pro- 
grammable Educational Terminal) by Commo- 
dore, and the TRS-80 by Radio Shack, usher in 
a new era of personal computing. Both are 
assembled computers, with video display, key- 
board, audio cassette storage, and BASIC; both 
initially come with 4K bytes of user memory. 
There the similarity ends; each has significant 
advantages and disadvantages. I should mention 
my bias at the outset; I'm for the PET. Some 
cynical souls will think it's because the store 
where I work can carry the PET and not the 
TRS-80; however, the real reason is the PET's 
much better BASIC. More on this later. 

Let's start with the hardware, which I consider 
about evenly balanced. The PET uses the 6502 
microprocessor; as a matter of fact. Chuck 
Peddle, who designed the 6502 for Mos Tech- 
nology, also designed the PET. Clock speed is 

1 Mhz so a "load immediate" instruction takes 

2 microseconds. The TRS-80 uses the Z-80 
microprocessor, with a 1.776 Mhz clock. This 
gives a "load immediate" time of 3.94 micro- 
seconds. In general, the Z-80 has a more advanc- 
ed instruction set (both manufacturers should 
have assemblers available in 1978). The actual 
speed of the BASIC depends more on the 
BASIC interpreter than the cycle times. If the 
speed is important to you, wait for the inevi- 
table published benchmarks. 

As mentioned, both units come with 4K of 
RAM; you can pay $200 more for the PET to 
get 8K, and $280 more for the TRS-80 to get 
16K. Both could probably be expanded with 
user-installed memory chips for much less. Add- 
itional RAM for both units goes in an expansion 
box, not yet available. The TRS-80 comes with 
4K of ROM, including BASIC, keyboard scanner, 
cassette and video handlers, etc. It has provision 
for a second 4K of ROM to get Level II BASIC, 
and a third 4K ROM to get Level III. The PET 
comes with 14K of ROM: 8K for BASIC, 4K 
for the operating system, IK for a machine 
language monitor, and IK for a diagnostic to 
test all the hardware. 

The PET video display is 25 lines of 40 charac- 
ters, or 1000 characters total. An 8 x 8 dot 
matrix is used for each character. The character 
set is 64 ASCII, upper case only. In addition, 
there are 64 graphics characters, including 



various lines for limited vector graphics, the 
playing card suit symbols, and others. Reverse 
field video (black on white instead of white on 
black) is available for all 128 characters by set- 
ting the high order bit. The TRS-80 video dis- 
play is 16 lines of 64 characters, or 1024 charac- 
ters. 5x7 dot characters are used in a 6 x 12 
dot matrix. The character set is also 64 ASCII 
characters (upper case only), plus 64 graphics 
characters. For each character position, any of 
6 dots may be turned on, giving flexible point 
graphics in a total field of 48 by 128 dots. The 
high order bit of a 7 bit byte determines whether 
a character or six dots is displayed. The PET 
display is 9 inches (diagonal), integral to the 
unit; the TRS-80 display is 12 inches, in a 
separate video monitor. 

The TRS-80 keyboard is a straight, 53-key 
(Teletype) variety. The PET keyboard has 73 
keys (53 in the center plus a 20 key numeric 
pad), but the keys are arranged in rows and 
columns, rather than offset like a typewriter. 
The PET keyboard is crowded, and is probably 
the worst feature of the unit. 

The TRS-80 cassette interface operates at about 
250 baud (25 cps); a 4K load would take about 
160 seconds. It includes a motor on/off relay for 
reading and writing data files. Only one cassette 
recorder can be connected, making tape-to-tape 
copying and editing very difficult. The cassette 
recorder is a standard model sold by Radio 
Shack, connected with cables to the computer. 
The PET cassette interface operates at about 
680 baud; a 4K load takes 60 seconds. One 
cassette recorder is integral to the unit; it uses a 
standard deck with special electronics. Another 
cassette recorder, available as an option in a 
month (the first option) for about $50, allows 
tape-to-tape work. Both cassette recorders have 
motor control. 

Expansion from the "BASIC boxes" is planned 
for both units. Radio Shack is expecting a $700 
minifloppy and a $1,500 dot matrix printer by 
the end of 1977, and later a serial I/O port and 
an acoustic coupler. A non-standard 40 pin bus 
connects peripherals (and the expansion mem- 
ory) to the TRS-80. Commodore expects to 
have their second cassette box out in a month, 
a dot matrix printer in late 1977 or early 1978, 
a minifloppy in early 1978, and some "fun 



\ 



2: 17 



1 



peripheral" soon after. The PET comes with an 
8 bit I/O port, plus an IEEE-488 interface bus 
for peripherals. The IEEE-488 bus is used by 
instrumentation manufacturers, is standardized, 
and will probably be supported by some other 
manufacturers. Motorola is working on a one- 
chip controller for IEEE-488, since the interface 
logic is pretty complicated. 

The PET is I6V2 x 181/2 x 14 inches and weighs 
44 pounds. The TRS-80 consists of a 161/2 x 8 x 
3 box with the keyboard and electronics, a 
16'/2 x 13'/2 X 12 video monitor, the cassette re- 
corder, and a power supply (don't know the 
total weight). 

So far, the differences aren't outstanding. The 
BASIC'S are very different, however. TRS-80 
BASIC allows 26 numeric variables (floating 
point only, 7 digit significance), 2 string variables 
(A$ and B$, each with 16 characters maximum), 
and one array, A(i). PET BASIC allows 676 each 
of integer, floating point (10 significant digits), 
and string variables; strings can have a maximum 
length of 256 characters. PET arrays can have 
multiple dimensions; also, trig functions are 
included in PET BASIC but not TRS-80 BASIC. 
The PET BASIC also has a real time clock. TRS- 
80 BASIC includes commands to set and clear 
points on the graphic display. Also, more ad- 
vanced BASIC on the TRS-80 will become 
available with two additional 4K ROM's. Both 
BASIC'S include machine language functions, 
PEEK and POKE, and the ability to read and 
write data files with the cEissette recorder. 
Neither includes the PRINT USING statement, 
although both have other line format control 
functions. 

Both the PET and the TRS-80 are in production, 
and have been shipped to customers. There is a 
long line for both, however. I'm not sure about 
the TRS-80, but the PET has a 90 to 120 day 
waiting period, when ordered direct from the 
factory. The only currently authorized dealer 



for the PET is Mr. Calculator, a chain in Cali- 
fornia (I haven't found one up here); however, 
as soon as the back order situation improves, 
computer stores and large chains will be carrying 
it. The TRS-80, of course, is available at Radio 
Shack, and later at Tandy Computer stores 
(which will also carry the Processor Technology 
SOL-20, the Apple-II, and other brands). One 
other thing: manuals for the PET will be 
available separately, this fall, and I hope to 
order some of those if you're interested. 

For more information, try "A PET for Every 
Home", Sept. Kilobaud, and "The Radio Shack 
TRS-80 Microcomputer System", Sept. Interface 
Age. Also, there's "Radio Shack's $600 Home 
Computer", Sept-Oct Creative Computing, 
"Birth of the PET Computer", Sept-Oct Per- 
sonal Computing, and "Radio Shack's New 
Computer System", Oct Radio Electronics. 

Several other new personal computers, in the 
PET/TRS-80 price range, are coming soon. 
Texas Instruments looks like the first giant 
corporation to jump into the ring; their new 
product announcement is expected this fall. 
Bally (an arcade game manufacturer) has a mail 
order unit available through JS&A. It's a com- 
bination video game and computer, with 12K 
of RAM/ROM, and a 160 by 100 dot video 
interface that connects to your TV (no CEissette 
or keyboard) for $300. Atari (another video 
games manufacturer), and a European and 
Japenese company are also expected to enter the 
competition. National Semiconductor and 
Hewlett-Packard have the capability to produce 
personal computers, but I haven't heard any 
rumors from them yet. IBM is a rather distant 
possibility, I suppose. Zilog is announcing the 
Z-800 this fall, which is also a factor. 

NOTE: This material was originally printed in 
"Northwest Computer Club News", October 
1977 and is reprinted with the permission of 
the author. 



Editor's Notes: One additional difference that may be important to some users 
is the fact that the PET Monitor supports assembly level code while the TRS-80 
only supports BASIC. This means that you can write special routines in 6502 
code on the PET. These may be called by the PET BASIC. This facility can 
greatly enhance the power of the computer. For a user's view of the PET, see 
"Meet the PET" by Charles Floto, MICRO #2, page 9. 



\ 



2: 18 



^w 



Ludwig von Apple II 



Marc Schwartz 

220 Everit Street 

New Haven, CT 06511 



Owners of the Apple II know from the demon- 
stration tapes that the Apple can make sounds. 
Not all know that it can make music. Having 
prepared a horse racing program, I decided that 
it would be fitting to start out the game with the 
bugle call heard at the track. The following pro- 
gram does just that! 

A few words of explanation are in order. The 
series of "pokes" in lines 30 to 240 set up a 
musical tone subroutine that is called in line 460. 

Each note is represented by a four digit code in 
A$. The first three digits of the code determine 
the note, and the last digit determines the length 
of the note. Line 410 decodes the first three 
digits by converting each digit to ASCII (Apple 
ASCII), subtracting 176 from each to give 
three numbers, from zero to nine, and then 
multiplying the first number by the second and 
adding the third. This is one of many possible 
ways of generating all the numbers from zero to 
a large number (ninety in this case) using single 
digits. 

Line 420 takes the number just generated and 
subtracts it from forty. This is done because the 
subroutine as written is a bit confusing if you 
want to make music, since the tones go up as the 
numbers go down. This step corrects for that. 

Line 440 determines how long each tone will 
be. AS "ASC(A$(Z + 3) - 176)" increases, the 
note lengthens: a "1" produces a very short 
note, and a "6" makes a very long note. For 
some reason, higher tones come out more 
brief than lower tones. 

Line 450 determines the tempo. A larger num- 
ber speeds up the tune; a smaller one slows it 
down. Tempo numbers can go from 1 to 255. 

When the program reaches line 470, it returns to 
line 400 to begin decoding the next four digits 
and playing the next note. 

I don't think that Chopin would need to worry 
about competition from anyone using this pro- 
gram, but it is fun to have a musical computer. 



THE APPLE II BUGLE CALL 



WITH THE APPLE II 



10 


REM MAKING MUSIC 


20 


DIM A$(255) 


30 


POKE 


2,173 


40 


POKE 


3,48 


50 


POKE 


4,192 


60 


POKE 


5,165 


70 


POKE 


6,0 


80 


POKE 


7,32 


90 


POKE 


8,168 


100 


POKE 


9,252 


110 


POKE 


10,165 


120 


POKE 


11,1 


130 


POKE 


12,208 


140 


POKE 


13,4 


150 


POKE 


14,198 


160 


POKE 


15,24 


170 


POKE 


16,240 


180 


POKE 


17,5 


190 


POKE 


18,198 


200 


POKE 


19,1 


210 


POKE 


20,76 


220 


POKE 


21,2 


230 


POKE 


22,0 


240 


POKE 


23,96 



300 A$="001 10071521 1720172017201" 

310 A$(25)="521 1521 1521 10071521 100710012" 

400 FOR Z=1 TO LEN(A$)-3 STEP 4 

410 Z1 = (ASC(A$(Z))-176)«(ASC(A$(Z-h1))-176) 

-►ASC(A$(Z-h2))-176 
420 Z2=40-Z1 
430 POKE 0,Z2 

440 POKE 24,ASC(A$(Z-h3))-176 
450 POKE 1,75 
460 CALL 2 
470 NEXT Z 
480 END 



2: 19 



COMPU/TIME 
CT 100 



COMPU/TIME offers 

A 

Real Darn Clever 

Enhancement to users of 

IMSAI/ALTAIR Microprocessors 



S100 BUS COMPATIBLE 

TIME & CALENDAR 

COMPU/TIME CT100 t199 Kit $245 Au«mblad 

COMPU only C101 t149 Kit $189 Asumblad 

TIME only T102 $165 Kit $205 Ammblad 

COMPU/TIME PC Board mly $ 80 



Till 



You will want to know about the TU-l Video to Television 
Interface Kit. 

No need to buy a separate Video Monitor if you already 
own a TV set. Just connect the TU-l between your systerr 
video output and the TV set antenna terminals— that's all 
there is to it— to convert your TV set to a Video Monitor, anc 
at a much lower cost! PRIPP $8 9R 



■l^:EB 



FC8 SOOOA — 3Vi Digrt — .8" Display 

HEW 2i Pin Veraun wrtn cokw i im/pm indicator 

• Connects iimoil one 
tor one wfOl 3817. 38t7A 
01 0. I3B17 iviMiblt 11 

• T|n>K8l Moment currant 
SmA ernpi colon. tO hrs 
b i c ind 10 mm. i i d 
when ire 16 mA 

• Forvnd voliiga diop 
1 S volts 



FfKWT VltW FSC8000 

SPECIAL 
$4.95 EA. 

• MAXIMUM FORWARD 
CUflflENI - 2S iiA 



Pern 



SLIT-N-WRAP WIRE WRAP TOOL 

• Slits and opens insulation axposlng 
bare wire 

• No pre-cutting or pre-stripping. 

• Comes complete with two - 1 00 ft spools 

#26 AWG wire 



Plugboards 8800V 




IMtl P1M 



124.50 



Universal Microcomputer/ 
Processor plugboard, use with 

S-100 bus complete witti l>aat sink & 
lardware 5.3 « 10 «1/16" 



$19.95 



fCH^NNELCE^ 

$159.95 




• Freeze Actjon • Speed Option 

• Automatic time and sconkeepmg 

• Battery-tree AC operation 

• Dual controls witti 8-way action 

• Built-in Pro Hockey and Tennis gifties 

• Easy twol(-up on any B/W or Color TV 

• Factory warranty 



Chinnel F — iddltlonil caitrldgis -$17.95 88. M^llimri'i'r 



oats — BUdHadi |1 Of 2 mayanl 
■ oei4-S««lri|1oi2playaii| 
l»1l— TIc-Tac-Toa/StooHng&illary oatS — Sprawai 12 mayan) 0611 — Drag Mp |t or 2 Mieni 

Quaen-AxKlla/Ooodk/ Data — Uigic Numein MB — Maa 12 mayanl 

Oai2 - Oaaan Fni/slnotlngGallary Iconvular logicl oa22 - aaaAae (2 flaijnl 



EDGE CONNECTORS 




20 


OUAL 


ICl 


PIN 


30 


DUAL 


!■) 


PIN 


44 


DUAL 


n 


PIN 


44 


DUAL 


n 


PIN 


&D 


OUftL 


so 


PIH 


86 


DUAL 


13 


PIN 


100 


DUAL 


SO 


PIN 


100 


DUAL 


SO 


PIN 


100 


OUAL 


so 


PIN 


100 


OUAL 


50 


PIN 



GOLD 
GOLO 
GOLD 
GOLO 
GOLD 

ooLOieeoD) 

GOLOdNSAI/ALTAIR) 
GOLOdNSAI/ALTAlU) 
GOLD(N0 EARS-IHSAI 
TIN (.1" SPACING) 



4.25 
4.9S 



ALTAIR/IMSAI CARD GUIDES 




Computer Products 



5351 WEST 144th STREET 

LAWNDALE, CALIFORNIA 90260 

(2131 679-3313 



RETAIL STORE HOURS M-F 9-7 SAT. 9-5 
Discounts available at OEM quantities. Add $1.2& 
for shipping. California residents add 6% sales tax. 

CATALOG FREE WITH $10.00 ORDER 



W§ 7400N TTL^JJJp 



SN74aiM 16 SN745H 7S 

SN7401N tS SN74«IW Zl 

SN74Q2N 2t SN7470M 4S 

SN7403N tS SN7472ft 39 

SN7404N 18 SN74rm 37 

SN740SN 24 SN7474N 32 

SN740aM » SM747W* » 

SN7407N 29 SN747eN 32 

SN740M 2a SN74TW S 00 

SN740M 25 SN74aON .» 

SN7410N 11 SN7482N 99 

SN74ttN 30 SN74KW 70 

SN74t2N 33 SN74aSM M 

SN7413M 45 SN74aeN 39 

SN7414N 70 SN748SN 3U 

SN7418ft 31 SN74«N 2 49 

SN7417N 35 SH7490N 45 

SN7420N 21 SN74giN 75 

SN7421N 33 SN7492N 49 

SN7422N 49 SN7483N 49 

SN7423M 37 SN7494h 79 

SN742M 29 SN749SN 79 

SN742eM 29 SN749eN M 

SN7427N 37 St47497N 4 m 

SN7429N 42 SN74)00N 1 m 

SN7430N H SN74107N 39 

SN7432N 31 SN74121N' 39 

SN7437N 27 SN74122N 39 

SN743SN 27 SN74t23N 50 

SN743SN 25 SN74t25N 60 

SN7440N 15 SN741ZeM .60 

SN7441N S9 SN74132N 1 09 

SN7442N 69 SN7413M 95 

SN7443N 75 SN74i4tN I t5 

SN7444N 75 SN74142N 4 00 

SN7445N 75 SN74143N 4 50 

SN7440N 81 SN74144N 4 50 

St47447N 69 SN74145N 1.15 

SN744M 79 SN74147N 2 35 

SN7450N 26 SN74148N 2 m 

SN745IN 27 SN74150N 1 U 

SN7453H 27 SN74ISIN 79 

SN7454N 20 SN74153N 89 

MANY OTHERS AVAIUkBU ON REQUEST 
20% Dixaunt fof 100 ComMnwl 7400 ■ 



SH74tMN 
SN7415SN 
SN741ieN 
SN74IS7N 
SN74180N 
SN7416IN 
SN74IUN 
SN74164N 
SN74ie5H 
SN74l8eN 
SN74I67N 
SH74170N 
SN74t72N 
SN74173N 
SN74174N 
SN74175N 
!;N7417eN 
SN74t77N 
SN74180N 
SN74181N 
SN74182M 
SN741MN 
SN74te5N 
SM741iai 
SN74I87N 
SN74188N 
SN74t90N 
SN74I91N 
SN74t92N 
SN74t93N 
SN74194N 
SN7419eN 
SN74199N 
SN74I97N 
SN7419IN 
SN74198N 

SN74279N 
SN7425tN 
SN74294N 
SN742e5N 

SN74.167N 



CO400D 

CM001 

ctMOoe 

CO4006 
CD4007 
CD40O9 
CD4010 
C04011 
CCM0I2 
C04013 
C0401S 
CW017 
CCM019 
CO4020 
CO4022 
C04023 
CD4024 
004025 
004028 
004027 
CD4028 
0040(9 



25 



TBBT 



CD4030 
CO4035 
004040 
CD4042 
CD4044 
0D4O46 
004047 
CD4049 
CO405O 
004051 
CD4053 

cCMoeo 

004066 

CO4069 

CD4071 

004061 

C04511 

004516 

M014566 

74C00N 

74002N 



74004N 

740 ION 

74C20N 

74C30N 

74C42N 

740 73H 

74C74 

74C90N 

;4095N 

740107N 

74C151 

74C1M 

7401 57 

740160 

74C1S1 

740163 

740164 

740173 

74CI93 

740195 

MC4044 

M014016 



LM301H 35 

LM301CN 35 

LM302H 75 

LM304H 1 n 

LM309H 95 

UC07CN 35 

LM3oeH 1 m 

LH30SCN 1 00 

LM30eH 1 10 

LM309K 99 

LU310CM 1.15 

LH31tH 90 

LH31tN 90 

LU3teCN 1 u 

LM319N t 30 

LM320K-S 1 35 

LM320K 5 2 1 35 

LM320K-12 1 35 

LM320K-15 1 35 

LJI320T.5 1 75 

lJiO20T 5 2 1 75 

LM320T-8 I 75 

Ui320T-12 1 75 

LM320T-15 175 

UKBOT-te I 75 

LK32DT-24 1.75 

LM323K-5 9 9S 

LM324N t.aO 

LM339N 1 70 

LM340K-5 1 9S 

LM340K4 1 95 

lJ«340K-8 195 

LM340K-12 1 95 

|JU340K'I5 199 

LIU40K-ie I 95 

UCHOK 24 1 95 

UW40T-5 I 75 

UO40T-8 1 75 

IM340T4 1 75 

LII340T-I2 1 75 

U«40T 15 \ T5 

Lil340T.18 I 75 

LU340T-24 1 75 

LM3S0N in 

LM351CN SS 



LINEAR 

tSmG 1 75 



LM370N 
LH373N 

LU377N 

uuaoN 

LM3B0CN 

LH3eiN 

LU3B2N 

NC501K 

NCS10A 

NC53IH 

HE536T 

NC540L 

NE550N 

NCS&SV 

NE5606 

NE56IB 

NCaaZB 

NCS6SH 

NC5A5N 

NCSeflCN 

NE567H 

NEsarv 

LM703CN 

Lil709H 

LM708N 

LM710N 

LH71tN 

LM723N 

LM723H 

LH733N 

LM739N 

LM741CH 

LM741CN 

LH741-t4N 

LM747H 

LM747N 

LM748H 

LM748N 

LM130M 

LMt304N 

LM130SN 

LM1X7N 

LM1310N 



LM1351N 
LM14t4N 
LM14SaC 
LM1496N 
LMt55ev 
LM21I1N 
LU2901N 
LM30a5N 
LH3900N 



LM3909 1 

LM5SMN 1 

UC55SaV 1 

LH7525N 

LM7535N t 

803n 4 

LM75450 

75451CN 

75452CN 

754UCN 

75454CN 

754giCN 

75492CN 

754MCN 

nCAUNIU 
0A3013 2 

0A3023 2 

CAIOU 2 

CA3039 1 

CA304e 1 

CA30U 3 

CASOOO 3 

CA3080 

CASOei 2 

CA10S2 
0A3063 

CA3oae 

CA3099 
CA309I 
CA3102 
CA3123 
CU130 
CA3140 
CA3a00 
RC4t94 
RC419S 



1020 
2.95 
215 
139 



74LS00 
74LSO? 
74LSa3 
74LS04 
74LS05 
74LS0e 
74LS10 
74LS13 
74LS14 
74LS20 
74LS26 
74LS27 
74LS78 
74LS30 
74LS32 
74LS40 
74LS51 
74LS55 
74LS73 



1174LS00 TTL 



74LS74 

74LS75 

741S76 

'4LS83 

MLSeS 

74LSa6 

74LS90 

74LS92 

74LS93 

741S95 

74LS96 

74LS107 

74LS109 

74LSn2 

74LSI32 

74LS136 

74LS136 



HMU11 
IM&312 
MMSSM 
WS3I6 
<MI5318 
CTTOOI 



6 D«ll. BCD OulDiA. RMt PM 

6 Oiga. BCD Output!. 12 or 24 Hour 

4 0«t. 8CD Dilpuli. 1 pre Oupwt 

6 aga, 12 or 24 How. 50 or SO M 

4 0ig<, Altrm. 1 Preouput 

VUn Oodi Ov. For Um Whh (HH5M1 - 

6 Oiga. Uwidi'. Mrm. 12 or 24 How 



74 LSI 39 

74LST51 
741S153 
74LS157 
74LS162 
MLS 163 
74LS164 
'4LS175 
74LS1B1 
74LS190 
74LS191 
74LS192 
74LS193 
74LS194 
74LS195 
74LS257 
74LS260 
74LS279 
741S670 



499 
696 
996 



THE PROM SETTER 

WRITE and READ 
EPROM 

1702A unA ZTflfl 
' PluRS Dirprlly into your ALTAIR/IMSAI Cnmpulf r 

■ ln( ludrs M.iin Module Board and EKternal KPROM 
Sorkrt llnil 

The RPROM Snckr-I Unit is ronnected to the Com- 
pulpr ihnniBh a 25 Pin C'nnnpctnr 

• PrnRramminR is iiccomplishpd hy the Compuler 

' |iisl RpHil in Ihp PriinrHm In I)p Wriltpn on Ihe 
FPROM inin your Processor Hnd let the Computer 
dfi Ihp rpsi 

' Hsr Snckpl Unit to Read EPROM"^9 Cnnlents inio 

your C'ompulpr 
' SfilUvHTP inrludpd 
' No KxicroHl Pnwpr Supplies. Your Computpr does 

il ;ill 

• ProKF.ims iind Rp.ids Hot h 1702 A and 270fl RPROMS 
' Dtiuhlp^. .IS .m F.iKht Hit pHrnllel in 

' Mnnuiil includpd \)c\\vcty Lpss ihon f(0 davf^ 



INTRODUCTRY OFFER 

THL FROM SlTTER 

Kit $210 A:";Sf:MBLED$375 
I'HOH SETTER T 

above unit with ?716 adapter 
Kit$260 A.ssembled $425 



WIRE WRAP CENTER 

HOBBY-WRAP TOOLBW-630 

Battery Operated (S<» C) 
Weighs ONLV 11 Ounces 
Wiaps 30 AWG Wire onto 
Slandard DIP Socliels (.025 inch) 
.1 mciuOKi. ^ 9 Complete with huilt-m bit and sleeve 




WIRE-WRAP KIT — WK-2-W 
WRAP . STRIP . UNWRAP 

• Tool loi 30 AWG Wire 

• Roll ol SO Ft White or Blue 30 AWG Wire 

• 50 pes each 1". 2 . 3 S 4 lengths 
pre-stripped wire. 



$11.95 




WIRE WRAP TOOL WSU-30 
IMUr . STRIP . UNWRAP -tS.M 



WIRE WRAP WIRE — 30 AWG 

50ltJ195 lOOOIt.JIS.OO 

SPtCIFY COLOR — White - Yellow - Red ■ Gieen ■ Blue - Black 



WIRE DISPENSER — WD-30 

• 90 It. roll 30 AWG KYNAR win wrap win $3.45 ea. 

• Cuts wire to desired length 

Strips 1" ol insulation tfwHy — Blue-Veilow-iMilte-Rad 



LIQUID CRYSTAL DIGITAL 
CLOCK-CALENDAR 



W^^m' 



For Auto, Home, Office 
Small In size (2x2 VixVi) 
Push button for seconds release for date. 
Clocks mount anywhere with either 3M double- 
sided tape or VELCRO, Included. 
2 MODELS AVAILABLE: 

LCD-101, portable model runs on self-contained 
batteries for better than a year. 
LCD-102, runs on 12 Volt system and is back- 
lighted. 

.00-101 or LCO.102 4bOO QC 

'Our cholc« «p«3O«i70 M. 

Hear d«il( stand lor $2.00 



MA 1003, 12V DC CLOCK MODULE 



Built in X'TAL controlled 
time bet*. Protected aaaintt 
automotive volt tranilants. 




r-=' Automatic brlghtnets con 
J ,trol with 0.3" 



$17.95 



I display, 
with ignition 



grean color 
Display turnoff 



MICROCOMPUTER 



MICROPROCESSOR'S 



F-8 

280 

2-80A 

CDP1802CD 

AM2901 

6502 

6800 

8008-1 

8080A 

TMS-9900TL 

6100 SUPPORT 



19.95 
25.00 
35.00 
24.95 
22.95 
12.95 
19.95 
8.75 
15.95 
89.95 



6810P 
6820P 
6828P 
6834P 
6850P 
6852P 
6860P 
6862P 
6880P 



4.95 

8.00 
11.25 
16.95 

9.95 
11.95 
14.95 
17.95 

2.70 



Z80 SUPPORT OEVICES 

3881 12.95 

3882 12.95 

F-8 SUPPORT DEVICES 



3851 
3853 



14.95 
14.95 



DYNAMIC RAMS 



1103 

2104 

2107A 

2107B 

21078-4 

TMS4050 

TMS4060 

4096 

4116 

MM5270 

MM5280 

MCM6605 



1.50 
4.50 
3.75 
4.50 
4.00 
4.50 
4.50 
4.50 
42.00 
5.00 
6.00 
6.00 



CHARACTER 

GENERATORS 



251 3 UP 

2513 DOWN 

2513UP(5vl 

2513DOWN(5v) 

MCM6571 

MCM6571A 

MCM6572 

MCM6574 

MCM6575 



6.75 
6.75 
9.95 
10.95 
10.80 
10.80 
10.80 
14.75 
14.75 



PROM'S 

1702A 

2704 

2708 

2716 

3601 

5203AQ 

5204AQ 

6834 

6834-1 

82S238 

82S1298 

8223B 



5.00 

15.00 

20.00 

38.00 

4.50 

4.00 

6.00 

16.95 

14.95 

4.00 

4.25 

2.70 



lOlOA SUPPORT DEVICES 



8212 
8214 
8216 
8224 
8228 
8238 
8251 
8253 
8255 
8257 
8259 



3.95 

9.95 

4.50 

4.95 

8.75 

8.00 

12.00 

28.00 

12.00 

25.00 

25.00 



STATIC RAMS 1 24 



21L02 

21L02 

21L11 

1101A 

2101-1 

2102 

2102-1 

2111-1 

2112-1 

2114 

31L01 

3107 

4200A 

4804/2114 

5101C-E 

74C89 

74S201 

7489 

8599 

9102BPC 



(450) 
(2501 



1.50 
1.95 
4.25 
1.49 
2.95 
1.25 
1.50 
4.00 
3.00 
17.95 
2.50 
3.95 
12.95 
17.95 
11.95 
3.25 
4.50 
2.25 
1.88 
1.65 



25-99 

1.40 
1.80 
4.10 
1.29 
2.75 
1.15 
1.30 
3.50 
2.80 
16.95 
2.35 
3.70 
12.50 
16.95 
11.25 
3.05 
4.30 
2.10 
1.75 
1.45 



100 

1.25 
1.50 
3.95 
1.10 
2.60 
1.00 
1.15 
3.25 
2.69 
16.50 
2.00 
3.25 
11.95 
16.50 
10.25 
2.85 
4.25 
1.90 
1.60 
1.30 



KEYBOARD CHIPS 


AY5-2376 


13.95 


AY5-3600 


13.95 


UART'S 




AY5-1013A 


5.50 


AY5-1014A 


8.95 


TR-1602A 


5.50 


TMS-601 1 


6.95 


IM-6402 


10.80 


IM-6403 


10.80 



FLOPPY DISC CONTROLLER 

55.95 
59.95 



1771B 
17718-01 



SHIFT REGISTERS STATIC 



25188 

2533V 

TMS3002 

TMS3112 

MMS0S8 



3.95 
2.00 
1.00 
3.95 
2.00 



MISC. OTHER COMPONENTS 



NH0025CN 

NH0026CN 

N8T20 

N8T26 

74367 

DM8098 

1488 

1489 

D-3207A 

C-3404 



1.70 
2.50 
3.50 
2.45 
.90 
.90 
1.95 
1.95 
2.00 
3.95 



P-3408A 


5.00 


P-4201 


4.95 


MM-5320 


7.50 


MM-5369 


1.90 


DM-8130 


2.90 


DM8131 


2.75 


DM-8831 


2.50 


DM-8833 


2.50 


DM-8835 


2.50 


SN74LS367 


.90 


SN74LS368 


.90 



KIM 



KIM-1 

6502 

6520 

6522 

6530-002 

6530-003 

6530-004 

6630-006 

USRT 

S-2350 
WD16718 



245.00 
12.96 
9.00 
9.25 
15.95 
15.95 
15.95 
15.95 



10.95 
29.95 



WAVEFORM GENERATOR 

8038 4.00 

MC4024 2.50 

566 1.75 



TV 
Game Chip 

TMSigSSNL 

Now Only 
$10.96 



PerSci DISK AND CONTROLLER 

Use the PerSci Disk and Controller now with the 
Info 2000 Adapter for the S-100 Bus. 

INFO 2000 "SPECIAL" 

(includes Model 277 Dual Drive, Model 1070 

Controller, Case with power supply and fan, 

and cable) $2,150 

Model 277 Dual Diskette Drive $1,130 

Model 1070 Controller $740 

Slimline case with power supply and fan $280 

Adapter for the S-100 Bus (Kit) $120 



JADE PARALLEL/SERIAL 
INTERFACE KIT 

$124.95 KIT 



JADE 

VIDEO INTERFACE KIT 

$89.95 KIT 



8K STATIC RAM BOARD 



ASSEMBLED & TESTED 



250ns. 
350ns. 
450ns. 



i 



199195 

189.95 

$169.95 



* WILL WORK WITH NO FRONT PANEL 

* FULL DOCUMENTATION 

* FULLY BUFFERED 

* S100 DESIGN 

* ADEQUATELY BYPASSED 

* LOW POWER SCHOTTKY SUPPORT IC S 



KIT 



250ns. 
350ns. 
450ns. 



$169.95 
$139.95 
$129.95 



IMSAI/ALTAIR 



S-100 



COMPATIBLE 



jadeZSO 

KIT 

-with PROVISIONS for 

ONBOARD 2708 and POWER ON JUMP 

$135.00 EA.e""^' 
$149.95 EA. i«""^' 

BARE BOARD $35.00 



IMSAI/ALTAIR 



COMPATIBLE 



S-100 
JADE 8080 A KIT 

- WITH EIGHT LEVEL VECTOR INTERRUPT 

$110.00 KIT 
BARE BOARD $36.00 




Computer Products 



5351 WEST 144th STREET 

LAWNOALE, CALIFORNIA 90260 

(213) 679-3313 

RETAIL STORE HOURS M-F 9-7 SAT. 9-5 
Discounts available at OEM quantities. Add $1.25 
for shipping. California residents add 6% sales tax. 

CATALOG FREE WITH $10.00 ORDER 



MICROBES 

Tiny Bugs in Previous MICRO 

1:13 HYPERTAPE and ULTRATAPE 

00E9 3700 Hz Pulse Duration = in 
OOEB 2400 Hz Pulse Duration = I£ 

1:19 COMPUTER CONTROLLED RELAYS 

Error in the Circuit Diagram. A 
single 7404 inverter may not have 
enough drive for two relays. Remove 
connection between Pin 2 of Write 
Mic Relay and Pin 2 of Write Remote 
Relay. Connect 7404 Pin 9 to 7404 
Pin 11 and connect 7404 Pin 10 to 
Write Mic Relay Pin 2. Add a diode 
between Pin 2 and Pin 1 of the Write 
Mic Relay. Each relay is now driven 
by an independent 7404 inverter. 



2:22 



i[£a3(3^(«)i 



We have the KEM 
KIM-1 Expansion Module 
the easy way to expand your KIM-1 

* Generates S-100 Bus 

* Accepts 2708 EPROMs 

* ASCn Keyboard port 

* Mates the MVM-1024 Video Module 

Write for complete info on the 
KEM and MVM-1024 Video Module 



A Riverside 

rxr 



ELECTRONIC DESIGN INC. 



1700 NIAGARA STREET 
BUFFALO, NEW YORK 14L'07 




FANCY DATA TERMINAL Build this terminal using a CPU-1 a VDB-1 

an ASCII keyboard, a TV set or monitor, 
power supply etc. and a 2704 EPROM, pro- 
grammed to handle scrolling, data input, 
output, etc. 

FDT-1 documentation includes EPROM pro- 
gram listing, construction and operating 
hints. Doc. only $5. ppd, Pre-programmed 
EPROM available. 

SS50 BUS PRODUCTS---BUILD YOUR 6502 AROUND A POPULAR BUS STRUCTURE 

CPU-1 A CENTRAL PROCESSOR using the MOS TECHNOLOGY 6502 & 6530-004 TIM 
MONITOR ROM, Can use crystal or RC clock (on board). Has current-loop or RS232 
I/O lines plus 8 general purpose I/O lines and 2 handshake lines. Board has provisions 
for a 2704/8 or 2716 for program or subroutine storage. EPROM can control startup 
from reset if desired. Use with SWTPC or equiv. memory or VDB-1 to form a com- 
plete system. SS50 Bus compatible. Bare board and documentation $29. Doc, only $5, 

VDB-1 A 32 character x 16 line video display generator. 2 pages of display possible. 
Provisions for RF modvilator. On board memory, regulation, optional inverters. See 
Nov. '76 BYTE article by A.I. Anderson for circuit description. Plugs into SWTPC or 
equiv. SS50 Bus. Bare board and documentation $29, 00. Documentation only $5,00 

SPECIAL CPU-1 & Doc. , VDB-1 & Doc. , FDT-1 Doc. ALL FOR $55. 00 

Add $2. 50 Per Order S/H. Ohio residents add 4%. Doc. price refundable with order. 



F&D ASSOCIATES, Box 183, New Plymouth, Ohio 45654 



^ 



The Challenge of the OSI Challenger 



Joel Henkel 

Old County Road 

Hillsborough, NH 03244 



One of the factors that a purchaser of a micro- 
computer system must consider is the degree of 
"do it yourself" hardware and software effort he 
will have to exert to get his system doing what 
he wants. This effort, not evident from manu- 
facturers' literature, can be critical for user 
satisfaction, as became evident in our experience 
with the OSI Challenger. These notes evaluating 
the Challenger may be helpful to prospective 
purchasers. 

In any hobby industry, user skills are assumed. 
This is emphasized for microcomputer firms that 
formerly catered to electronic kit builders. OSI 
is one of these, having supplied special PC board 
kits to hams. They follow their own packaging 
philosophy that differs from the "standard" 
S-100 bus configuration. Their brochure ex- 
plains that the 100 pin S-100 connectors were 
rejected because the fingers were subject to poor 
contact. Instead, OSI uses MOLEX connectors, 
which make positive contact. The brochure goes 
on to describe the rejection of on-board voltage 
regulators in favor of a self contained regulated 
power supply. 

OSI circuit boards are larger than standard S-100 
bus boards. This accommodates their design 
philosophy of packing many optional functions 
into one foil pattern. For example, their 430B I/O 
board supports: an eight channel multiplexed 
eight bit analog to digital converter, two chan- 
nels of eight bit digital to analog conversion and 
a UART controlled cassette I/O interface or an 
RS232/twenty mil loop I/O interface. 

Our system came without keyboard or video 
monitor. Interfacing for these is left to the user. 
The computer cabinet has two holes in its rear 
panel for user implemented I/O cabling from 
individual boards. The keyboard DIP socket and 
video output RCA connector are available at the 
edge of the 440 video board. MOLEX connectors 
on the edge of the 430 board provides access to 
the various I/O options. 

Hardware documentation consists of kit con- 
struction manuals for individual boards, even if 
the boards are purchased assembled. Various 
options are treated separately. Overall hardware 
system documentation is completely lacking. 



For example, nowhere is there a description of 
the bus convention and pinout. One must gen- 
erate these from actual inspection of board foil 
patterns. This exercise reveals interesting peculi- 
arities, such as bringing the NMI (non-maskable 
interrupt line) and IRQ (interrupt request line) 
onto many boards and leaving them unconnected. 

The software is sophisticated. One enters the 
system by resetting. A prompter, D/M, comes up 
on the video screen. To enter the video monitor, 
styled after the KIM, enter M and the six hex 
digits appear near the top of the screen. For 
DOS (disc operating system), enter D and the 
DOS is brought up through BASIC by a boot- 
strap ROM. (Earlier versions required loading a 
short sequence of memory locations using the 
video monitor.) From BASIC one can enter the 
DOS, from which it is possible to go to various 
modules, such as an extended monitor, back to 
BASIC, or to activate a few DOS commands, 
such as loading and recalling disc files, executing 
programs, or switching floppy disc drives (for 
dual floppy discs). The EXTENDED BASIC by 
MICROSOFT has many advanced features, such 
as string functions, and is apparently much 
faster than a comparable 8080 BASIC. 

Software documentation is poorly organized. 
Perhaps with so many possible options, the job 
of creating well organized system documenta- 
tion was beyond OSI 's capability. Our experience 
with software documentation availability was 
sobering. The system comes with all OSI soft- 
ware on discette. However, only a BASIC users 
manual is included, beyond a general system 
description. One has to order software user 
manuals separately. We waited a long five 
months after order for ours. 

We have used two versions of the DOS, an ori- 
ginal 1.1 version and an updated 2.0 version. 
One interesting change has to do with copying 
the DOS itself. The original version could not be 
copied and an explicit notice to that effect was 
included. An unfortunate set of circumstances 
could come about, however, that would wipe 
out track one, completely disabling any further 
loads of the DOS. If computer power fails (or 
one turns off the computer) with the disc in its 
drive, out goes track one! Apparently a number 



\ 



2:23 



,^^(3[^(£)j 



of users had this happen (including us). Version 
2.0 has complete copying capability. According 
to instructions the first thing one should do is 
copy the DOS and store away one copy in case 
of wipeout. 

Another change from the original version is the 
serial display output rate to the video monitor, 
which was increased from ten characters per 
second to several times that rate. A third change 
in the DOS is an augmented facility to read and 
write disc files. 

The 440 board video display format chosen is 
twenty four characters per line, which is too 
small. One can only speculate on the reason for 
the short line. 

Many applications could readily use a real time 
operating system, (RTOS). OSI does not offer a 



RTOS, but has advertised that one, modelled on 
DEC'S RTSll is in the works. When contacted 
recently, however, OSI reported that it has in- 
definitely postponed development of its RTOS 
in favor of development of a business system. 
The contemplated RTOS may explain the inter- 
rupt lines found in the foil patterns of several 
boards mentioned earlier, and a foU pattern 
option on the 470 floppy disc controller board, 
a real time clock in the form of a divider chain 
driven by the on-board crystal clock. 

In summary, the OSI Challenger offers a lot of 
computer for the money. The tradeoff is the 
board orientation rather than system orienta- 
tion, requiring a larger than average effort on 
the part of the user to bring his system up. This 
effort includes I/O interface cabling and "reading 
between the lines" in the supporting documenta- 
tion. 



^ 



2:24 



il^3(S^(£)i 




cyVLicro -Computer 
R^epairs ! 



all nQakes^alLnoocDeLs 
ReasonaBle Rates 

open noon-loprri 
man. - sat. 



the COnPUTEK DOCTOK/mc 

'12 MOWAKD STo, CAM5KIDQE~MA55.,02139 

[617] 661 -<5 792 






^ 



Improving KIM-1 Keyboard Reliability 

KIM Application Note 

MOS Technology 
950 Rittenhouse Road 
Norristown, PA 19401 



The keyboard on some KIM-1 's has a "bouncy" 
key problem and the "9," "D," or "C" keys 
may fail entirely. The problem is due to the use 
of the outer edge of the snap-action discs to 
jump over the center contact line on the key- 
board pc. Since the discs are only held against 
the pc board with tape, the contact is poor. 
There are five of these jump-overs in series for 
the "C" key (four for the "9" key), thereby 
compounding the problem. To check for the 
problem, measure the resistance from keyboard 
pin 3 to pin 1 5 (numbered from left to right as 
shown) with the "C" key depressed. It should 
be less than about 10 ohms. 

Fortunately, this problem can be easily correct- 
ed. The solution is to solder a thin wire jumper 
across these poor contacts as follows. Disassemble 
the keyboard by first removing the four screws 
on the back of the keyboard at the comers. 
Then remove the two remaining screws that hold 
the keyboard to the KIM-1 (note for reassembly 
that they are longer), being careful not to pull 
the keyboard pc board away from the KIM-1 
board - it's only attached by the solder at one 
end. With the KIM-1 upside down, separate the 
black keyboard panel from the keyboard pc 
board. You may wish to cover the keyboard 
with masking tape to hold the keys in place. 
After cutting four small holes through the clear 
Mylar at the locations indicated by an X in the 
figure, the lines from "C" to "9," "D" to "9," 



"A" to "7" and the line to "B" are exposed. 
Connecting these points by soldering a thin 
wire between them routed as shown is suffi- 
cient to bridge the five potentially poor con- 
tacts. 



— r— T — r- 

9 O O t 


>» .'« ,;» .'•' 


e e 

/ 3 J 7 


e, e o e 

9 II li IS 


@ @ 


© @ 


® @ 


® © 


©, ® 


® © 


(D @ 


®i ® 


© © 


© ® 


® ® 


® ® 



2:25 



l^3(S^(l)i 



MICRO is published bi-monthly, six issues per year. Subscriptions $6.00 (USA). 
Subscription starts with next issue. Back issues are $1.50 each (Nos. 1 & 2] 



Rv 



NAME: 



ADDR: 

CITY: STATE: 



ZIP: 



[] Please include my name and address in mailing lists that you make available 
to dealers, suppliers, and other legitimate 6502 interests so that I may be 
kept informed of new products, current developments, and so forth. 

[ ] Please DO NOT include my neime and address in mailing lists that are made 
available to outside sources. 



^ 



Send your check to: MICRO, P.O. Box 3, S Chelmsford, MA 01824 



i^3(3^(>)i 



COMPUTER 
SHOP 



288 NORFOLK ST. CAMBRIDGE, MASS. 02139 
corner of Hampshire & Norfolk St. 617-661-2670 



r 



MEMORY 



4 K MEMORY BOARDS THAT CAN BE USED FOR YOUR KIM 




The VF8 4K memory boards have dual 22 pin .156 pinouts 
but with different pin assignments than your KIM. Instruc- 
tions for jumpering between connectors are included. 
This board has been used as modified bv many KIM owners 
FULLY ASSEMBLED AND TESTED REG. PWR. $129.00 ' 

LOW POWER RAM ADD............ $ 10.00 

KIT .....$ 74.50 

jm, w^mmi^ full set sockets for kit j% lo.oo 

W 5P VF8 MOTHERBOARD-BUFFERED FOR 4 BDS. $ 65.00 
CONNECTOR ASSEMBLY- KIM TO VF8 $ 20.00 

CS lOOVIDEO TERMINAL BOARD FOR YOUR KIM 

The CSlOO VIDEO TERMINAL BOARD IS A 16 LINE ^^iiajii". 

BY 64 CHARACTER DISPLAY GENERATOR WITH SH»§^ 

CURSOR CONTROL AND EDITING Connect a 5V. ^ra^&=^ 

ASCII Keyboard to it, a Regulated 5 Volt, Unregulat- 
8 Volts, or 8 Volts AC, and your KIM Teletypep ort 
to it along with a video monitor and away you go with 
all the convenience of a Video Terminal on your KIM. 



The CSlDO-KIM is a fully enclosed portable cabinet 
that has cutouts for the KIM keyboard and hex dis- 
play. Space is provided for your cassette recorder 
ASCII Keyboard, power supply, and extra memory 
boards. The display shown was generated by our 
Video Terminal Board connected to the KIM. 
The cabinet is heavy duty l/,e inch aluminum fin- 
ished in a blue spatter with white panels. An S]DO 
low profile e 3 slot motherboard is available that 
fits under the KIM is available 

CSlOO Cabinet cut out for KIM $ 129. 00( ) 

3 Connector SlDO MB Assem. $ 75.00( ) 

VF8 4K Memory Board Assm. S 129. 00( ) 

V.F8 4K Ram Kit $ 74.50( ) 

Low Power 21D2 Option S 10.00( ) 

Socket Option......... .......$ 10.00( ) 

.......... V.F8 Motherboard $ 65.00( 

Connector Board......... S 20.00( 

CSIDO TIM Kit S 129. 95( 

■•••••..•. CSlOO 6502 CPU Kit. ..........$ 169. 95( 

CSlOO Front Panel Kit......... $ 129. 95( 

CS1D0-VT3 Vid. Term. Bd.KitS 155.00( 

••••••"•• CSIDO-VTB Vid. Term. Bd.Asr$ 185.00( 

KIM-l-i;. -5 245.0D( 

........ Total of Order ...........$..... 

Mass. Res. Sales Tax...... .....$.... 

Shipg. 1% (S2.00 minimum)... ..$ 

Total Remittance or Charge.. ..$ ^ 





BAC,VISA,MC NO. 

SIGNATURE........ 

NAME...... 

ADDRESS............ 

CITY.... 



• STATE... ...... ZIP.... 



^^^mmmm^mii^mmmmmmimm^mmm^s^smiif^ 



a3^K»ia«vs«.««'-^«^-SJSe&«S*Sra. 



WilU^ ft. DUl 
iOuron, tm 44320 



OQBF 
OOID 

oon 

0012 
00F3 
^F4 
0OF5 
00F6 
0OP7 
OOfB 
OOW 
OOFA 
OOFB 
OOFC 
00F& 
OOFE 
OQFF 



Fa 

FGB 

F (FBE6) 

8F (stmm 

A (ACC) 

Y 

X 



IBL . 

US 

POIHIL 

FODtlH 

18KP 

SffX 

CSAR 

MODE 



^ogr«ti GotmMr - lo tjf 

Zi^t liiftiir, Bi • Ol^lay Buffer 

,FtrlaiMr^ in - Display 

;-• fd^^chisin^r j-i«<i^a«%- iyu 

llgrtft :]^4ii««$ai ]Q(»> or TTf Mdd* on KIM 



Sttt **OQf* for Binary 






Froetuor Status Spgistsr ? (OGFi) 



rugs (1 >» >ifctf) 

,6nrzy 




^SWSiSf'SJS^WKfJSSgifeH^ew-J 



>.'^^;:^^-^i!f'mmm»fi&'u^miw^^fS»mmf^f^ 



i I/O Por£«, laUfV^l- 




1700 


PAP 


170X 


nm 


1702 


PBS 


1703 


PKI]> 


1704 / 1744 ClXn 


1705 


1741 <a^t6^ 


1706 


1746 GtM&l 


1707 


1747 OXl^ 


1707 


1747 CUdB^X 


1706 


1746 cuasa 


170C 


174C IT 


170D 


174» « ' - 


170E 


1748 *Kr "^ 


170J 


Itif ioa4» 


1740 


«lk& 


1741 


«a«r^ 


1742 


iiB& 


1743 


-- wm^ii 


1780 




17E7 


Gsn, 


17B8 




17E9 


ma'-'-' 


17EA 




17EB 




17EC 


w©- ^-' 


17F2 


€Hti:» 3< 


17P3 


JOBS S( 


17F4 


TBai 


17F5 


«ttL ^^ 


17F6 


sm 


17P7 


SAL 


17P8 


»» 


17F9 


IB • *->,. 


i7m/m$iLWiv ma 


tBftWBB OSSBi 


ic/fffc I8W <iaa 


Pi)/nFV& CK^ 


lE/UVS Ul^.-^ISilJ 


mfnw itm 


• 


" :..- 








♦•^^^^^•^Ptw' 



«tCf,> 



t^^ 






' iv-„ 



?S!«®!*SW«s-?SS?«««a 












'a 



' **;x f f^^^'^- ^ 



'-■.^ 









^t^m^m^^m^mmmsss^>mmmm»mymmmssmm 



SUB-SODXniBS 


, - ^S^M»$ 


4ddt«M 


I|i*^' ' 


1800 


WUBt 


1373 


wm 


1932 


isfWi 


194C 


4sass -;'- ' 


195B 




196F 
i97A 


vam 


199E 


ONE 


19&4 


ZBO 


19SA 


WGfSB 


19P3 


mam 


lAOO 


next 


1A24 


WQ3SI 



UM. 



lAfiB 



ISXlt 



fSA^CAt 



icoo ^^n 



1C22 


1^ 


1C2A 


• «Et<il^ 


lC4y 


suax 


ICOC 


vcsm 


1C64 


CUUA 


1G6A 


ua> 


1C77 


TTfO 



"^"^'"f FT?''^*Jf ?^*?"*' ■^"'' 






%- tav 



fJi-j-S - "*>■* 



■ l li wgy to tmip* 







■'s« ■" 



^06^p$^'''i)m|Ji^rt* 



.$tt!^lWEf,|fe«'^iftNp»-.?!*^4f :<9 p«l«M '13t ll^iwc f«cW . 5 •■ - 
#it^4.|»J%i^ <6 ^«w 207/|,»*e ntiHk) 

■it, 2 

,,..^liM^i(!|liir>^^^ 1 to .ASH G&4> 

Jr^' -^"-^ "^""^ ?^^ x^'fe- "" ^: - "'■'^ ^ -■ ' 



-V/^yU; 






tm) 



-'->" 



^■icl». 



^ilir'ltlt''^teMit) 



» 1^^I^J®?^^9^" *3r^^^^F^^^^ SIMrP^^P^f^P^ M '*^'"^WW^^ ^**" W*^ *-^f^B™fl(^ 



*-'«Se.'S®i-S«s»»«,«98a!i»S»»«««nRr*--, 



J^ 



«sws*^{c=i«!»>j"^ J '-arft 1 






^g^mmsi^0msmm^mmim»f-^m^^^nmi^.mw0i^m^!mi!i*smav' 



%-ii»'^t:-^M.^Smii^->-^Sm0-»-SirrtSfmimriSZ.i-g::!^^ 




^ 



Addrass 

OOEF 
OOFO 
OOFl 
00F2 
00F3 
OOFii 
OOFS 
0OF6 
00 F7 
00F8 
00 F9 
OOFA 
00 FB 
OOFC 
00 FD 
00 FE 
OOFF 



Label 

FCL 

PCH 

F (PREG) 

SP (SPUSEft) 

A {AGO 

Y 

X 

CHKHI 

CHKSUM 

INL 

INH 

POINTL 

POtNTH 

TEMP 

TMPX 

CHAR 

MODE 



Important Addresses of KlM-1 and Monitor 



William R- Dial 

438 Roalyn Avenue 

Akron, OH 4^320 

FUTlCtlCUl 

PrograiB Coumtei: - Lo Byte 

Program Counter - Hi Byte 

Status Register of Processor 

Stack Polluter 

Accumulator 

Y-Begister 

X-Reglster 

CheckeuH! on Tape, Bi 

Checksum on Tape, Lo 

Input Buffer t Lo - Display Buffer 

Input Buffet, Hi - Display Buffer 

Pointer, Lo - Display 

Pointer, Hi - Display 

Temporary Storage Byte 

Teinporary Storage Byte 

Current Character for TTY 

Byte Indicating KYBD or ITY Mode on KIM 



Set "00" for Binary 



Detail of Processor Status Register P (OOFl) 

ait No. 2 1 5 

K V 



4 


3 2 


1 





B 


3 I 


Z 


C 
1 









Fla^s (1 « set) 
-Carry 

. Zero Result 

Interrupt Disable 

-Deciioal Mode 

Break Coicmand 
Reserved for Expansion 
Overflow 
Negative Result 



OlFF 
OlFE 
01F8 etc. 



• ■ ■ ■ r 



STACK 



Needed to Process Interrupts, save Addresses, etCi 



2:27 



J 






I/O Forts, Interval Timers, and 6530 RAM Usage 



Function 



Address 


Label 


1700 


PAD 


1701 


PADD 


1702 


PSD 


1703 


PBDD 



1704 / 1744 CLKIT 

1705 1745 CLKBT 

1706 1746 CLK64T 

1707 1747 CLK1024T 
1707 1747 CLKRDI 
1706 1746 CLKEDT 



170C 
170D 
170E 
170F 

1740 

1741 
1742 
1743 

1780 

17E7 

i7Ee 

17E9 
17EA 
17EB 
17EC 
17F2 
17F3 
17F4 
17F5 
17F6 
17F7 
17F8 
17F9 



174C IT 

174D 8T 

174E 64T 

174F 1024T 



SAD 

PABD (SADD) 

SBD 

PBDD (SBDD) 



CHKL 
CHKH 
SAVX 



VEB 

CNTL 30 

CKTH 30 

TIMU 

SAL 

SAH 

EAL 

EAH 

ID 



Output) 
Input) 



Port A Data (user 1/0) 
Port A Data Direction {1 
Port B Data (User 1/0) 
Port B Data Direction (0 

INTERVAL TIMER 

17D4 et seq User 

1744 et seq KIM MONITOR 

Read Tlsie Out Bit 
Read Time 



TIMES USED vhen IRQ Interrupt at PB7 needed 



i 



Port A Data 
Part A Data 
Port B Data 
Port B Data 



(KIM ICKITOR) 
Blrectlon 
(KIM mNlTOR) 
Directian 



Available iteiHory Block (Prograsi PLEASE ^ etc.) 
Checksum for Tape Monitor 
Storage Location 



rt 



Volatile Execution Block 
TTY Delay 
TTY Delay 

Starting Address - Lo (Audio and Paper Tape) 

- HI 
Ending Address • Lo 

- Hi 

ID Number (Program No. on Tape) 



17FA/FFFA NMIV (NMII) Stop Vector (Stop = ICOO) Load 00 

FB/FFFB (NMIH) IC 

FC/FFFC RSTV (ESTL) RST Vector 00 

FD/FFFD (ESTH) IC 

FE/FFFE IRQV (IRQL) IRQ Vector (BJOC = I<X)0) 00 

FF/FFFF (IRQH) IC 




2:28 



[£a[t(^l^^i 







£N. 



SUB-ROUTIHES - 6530-003 
Label 



Addresa 

1800 

1873 

1932 

194C 

195E 

196F 

197A 

199E 

19C4 

19KA 

19F3 

lAOO 

1A24 

1A41 

1A6B 



DUMPT 

LOADT 

INTV^ 

CHKT 

OUTBTC 

HEXOUT 

OUTCHT 

ONE 

ZRO 

INCVEB 

ItDBYT 

PACKT 

RLGHT 

BDBIT 

PLLCAl 



SUB-ROUTINES 


- 6530-002 


ICOO 


SAVE 


1C22 


RST 


1C2A 


DETCPS 


1C4F 


STAKT 


ICDC 


PCCMD 


1C64 


CLEAR 


1C6A 


READ 


1C77 


TTYKB 



FurtctlQD 

Diaap Memory to Tape 

Load Memory from Tape 

Initiate Volatile Execution Block 

CoBipute CHKSUM for Tape Load 

Output One Byte 

Convert LSD of A to ASCII and Output to Tape 

Output to Tape One ASCII CHAR (Use Subs ONE & ZRO) 

Output to Tape = 1 (9 pulses 138 ^ sec each) 

Output to Tape (6 pulses 207 ^ sec each) 

Sub to INC VEB + 1, 2 

Sub to read Byte from Tape 

Pack A = ASCII into SAVX as Hex Data 



Get 1 Character froia Tape and Return with 
Character in A (Use SAVX + 1 to ASM Oisr) 



Gets one bit from Tape and returns It in 
sign of A 

Diagnostics ; PLL calibrate Output, 166^ sec 
pulse string 



KIM Entry vis STOP (NMl) or BRK (IRQ) 
Also SST 

KIM Entry via RST (Reset) 

Count Start Bit 

Make TTY/KB Selection 

Display Progrem Counter by Moving PC to POIHT 

Clear Input Buffer INL, IKH 

Get Character 

Main Routine for Keyboard and Display 



2:29 



Address 



1ED4 



lEEB 



lEFE 



1F19 
IFIF 

iFAe 
ir63 

1F6A 

1F91 
1F9D 

IFAC 
1FD5 

1FE.7 



Label 



1CE7 


LOAD 


1D42 


hmp 


lElE 


PRTPNT 


1E2F 


CRLF 


1E3B 


PRTBYT 


1E5A 


GEICH 


1E88 


INITS 


1E9E 


OUTSF 



DELAY 



DEHALF 



AK 



SCAND 

SCAJTDS (DISPLA) 

CONVD 

IMCPT 

GETKEY 

CHK 
GETBYT 

PACK 

TOP 

TABLE 



^ 



Function 



Load Paper Tape from TTY 

Duimp to TTY from Open Cell Address to LIMHL, 
LlbGlH Limit: High , H and L 

Sub to Print FOINIL, POINTH 

Print String of ASCII Chsractets from 
TOP + X CO TOP 

Priot 1 Hex Byte as Two ASCII Qiaracters 

Get I Character from TTY, Return from Sub with 
Char In A. X ie preserved and Y returned = FF, 

Initialization for SIGMA 

Print One Character CHAR = A. 
X is preserved, Y returned = P7. 
OUTSP Prints One Space . 

This loop simulates DETCPS Section and will 
delay 1 Bit Time. 

Delay half Bit Tine - Double right shift of 
Delay Constant for a Div by 2. 

Sub to Determine if Key is depr«a.sed or 

Condition of SSW 

{Key not dep or TTY Mode A = 0) 
(Key dep or KB Mode A = not aero) 

Output to 7 Segment Display 

Lights 7 Segment Display 

Convert and Display Hex - Used hy ECAOT only 

Sub to Increment POINT 

Get Key from Keyboard, Return with A = Key 
value. If A GT. than 15 then Illegal or no Key, 

Sub to Compute Check Sum 

Get 2 Hex Characters and Pack Into INL, INH. 
X preserved, Y returned = 0, 

Shift Character In A into IWL, INH 

Table 

Table Hex to 7 Segment 

2:30 




i 



a 



'mm^<iit 



J